ssh实现远程登陆以及使用技巧

Easter79
• 阅读 597
  • SSH简介

SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。

SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝。

利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH 最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台。SSH 在正确使用时可弥补网络中的漏洞。SSH 客户端适用于多种平台。几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行 SSH。

有关SSH协议的部分可以参考以下博客

http://blog.csdn.net/macrossdzh/article/details/5691924

  • SSH安装

  • 查看SSH版本信息

在Ubuntu 14.04 LTS上默认安装了SSH客户端

可以使用命令

dpkg -l | grep ssh-client

查看相关客户端信息

ssh实现远程登陆以及使用技巧

使用

ssh -V

可以查看ssh的版本

ssh实现远程登陆以及使用技巧

安装SSH服务器

sudo apt-get install openssh-server

安装完成后会默认开启SSH服务

重启服务

sudo service ssh restart

测试使用

ssh -l username hostip

*username:被远程登陆的用户名

*hostip:被远程的登陆的IP

ssh实现远程登陆以及使用技巧

登陆远程主机

ssh username@hostip
  • 简化命令的技巧

方法一

配置SSH

在~/.ssh目录下创建文件config

touch ~/.ssh/config

在config文件中编写

Host    *test
HostName 192.168.1.102
User doggy

*将test部分替换成自己的内容即可

配置完成后使用命令

ssh test

就可以实现登陆192.168.1.102上的用户doggy了

此处的test可以换成任意名字

方法二

将hostip添加到/etc/hosts中,使用如下格式

hostip name

name:给ip取的别名

ssh实现远程登陆以及使用技巧

此时可以使用命令

ssh doggy@vb

登陆到远程主机

doggy:我的远程主机用户名

但是依然很麻烦,接着简化

在~/bin中创建一根文件doggy_ssh(名字自取),并添加如下内容

ssh username@hostip

保存退出,添加可执行权限

sudo chmode +x doggy_ssh

现在就可以在终端直接使用 doggy_ssh 登陆远程主机了(这下好多了)

问题来了,每次在使用ssh登陆是总要输入密码,使用以下方法可以避免

生成SSH密钥

ssh-keygen

然后一路回车,使用SSH的默认值,此时会在~/.ssh中生成一个公钥,以及一个私钥,这个公钥就是我们需要的

在SSH的服务器端的~/.ssh目录下创建文件authorized_keys,然后将刚刚生成的公钥添加到该文件中

此时就可以实现不用输入密码登陆远程主机

向SSH服务器添加公钥的另一种方法,使用命令

ssh-copy-id -i ~/.ssh/id_rsa.pub hostip

使用scp实现文件和目录拷贝,实际上scp使用与cp的使用是一样的,只是在使用scp时,要添加远程主机的ip,以下是详解

SSH 提供了一些命令和 shell 用来登录远程服务器。在默认情况下,不允许用户拷贝文件,但还是提供了一个“ scp ”命令,使用方法如下:

本地文件复制到远程:

scp FileName RemoteUserName@RemoteHostIp:RemoteFile
scp FileName RemoteHostIp:RemoteFolder
scp FileName RemoteHostIp:RemoteFile

本地目录复制到远程:

scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
scp -r FolderName RemoteHostIp:RemoteFolder

远程文件复制到本地:

scp RemoteUserName@RemoteHostIp:RemoteFile FileName
scp RemoteHostIp:RemoteFolder FileName
scp RemoteHostIp:RemoteFile FileName

远程目录复制到本地:

scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
scp -r RemoteHostIp:RemoteFolder FolderName

这里只测试一个命令,其它操作都是大同小异。

远程文件复制到本地:

scp RemoteUserName@RemoteHostIp:RemoteFile FileName

RemoteUserName:远程用户名

RemoteHostIp:远程ip

RemoteFile:远程文件,可带上路径

FileName:拷贝到本地后的名字,可带上路径,不带路径拷贝到当前目录

今天在使用scp拷贝文件是发现一个很简便的方法,当然也不是新奇的方法,只是结合使用了简化命令技巧中的方法一而已

前提:按照方法一配置好相关的config文件

例如:我要将计算机Doggy上 /home/doggy/test 文件拷贝到计算机 bao 上的/home/bao/Downloads中

可以使用命令

scp /home/doggy/test bao:/home/bao/Downloads

ssh实现远程登陆以及使用技巧

Ps:本文内容参考的有关博客:

使用ssh-keygen和ssh-copy-id三步实现SSH无密码登录

Linux下SSH安装配置使用详解:

http://www.linuxidc.com/Linux/2015-03/115056.htm

如果在使用是遇到困难,可以参考happypeter的有关视频

http://haoduoshipin.com/v/62

视频不长,但是个人认为讲的还是很清晰的

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Wesley13 Wesley13
2年前
SSH(远程登录)
在linux中SSH服务对应两个配置文件:!(https://oscimg.oschina.net/oscnet/08d4b27dffc261d101b8c21c376a0c1e23a.png)ssh特点:在传输数据的时候,对文件加密后传输。ssh作用:为远程登录会话和其他网络服务提供安全性协议。ssh小结
Easter79 Easter79
2年前
ssh
sshkeygen生成gitssh密钥SSH是建立在应用层和传输层基础上的安全协议,其目的是专为远程登录会话和其他网络服务提供安全性的保障,用过SSH远程登录的人都比较熟悉,可以认为SSH是一种安全的Shell。SSH登录是需要用户名和密码的,要实现无密码登录,就需要创建SSH密钥(sshkey),SSH密钥可以认为是和另一台电脑通信时
Easter79 Easter79
2年前
ssh的应用和vnc连接桌面
一、什么是ssh?1、SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。SSH之所以能够保证安全,原因在于它采用了公钥加密。2、SSH是传输层和应用层上的安全协议,它只能通过加密连接双方会话
Wesley13 Wesley13
2年前
SSH介绍及连接原理
SSH是Secure Shell Protocol的简写,由IETF网络工作小组(Network Working Group)指定;在进行数据传输之前,SSH先对联机数据包通过加密技术处理,加密后在进行数据传输。确保了传递的数据安全。  SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用SSH协议可以有效的防止远程管理过程中的信息泄露问题,
Stella981 Stella981
2年前
Linux服务器ssh远程管理
SSH远程管理SSH(SecureShell)是一种安全通道协议,主要用来实现字符界面的远程登陆,远程复制等功能。SSH协议对通信双方的数据传输进行了加密处理,其中包括用户登陆时输入的用户口令,与早期的telnet(远程管理),rsh(RemoteShell,远程执行命令),rcp(远程复制文件)等应用相比,SSH协议提供了更好的安全性
Stella981 Stella981
2年前
Linux配置SSH免密码登录
CentOS配置SSH免密码登录为例说明:SSH远程登录的安全外壳协议有两种身份认证机制:\用户名密码\密钥登录环境准备host1:192.168.0.10host2:192.168.0.11下面以host1ssh免密码登录到host2为例,进行说明1、在host1主机下生成私钥/公钥对执行如下命
Stella981 Stella981
2年前
Linux应急响应(一):SSH暴力破解
0x00前言SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包含字母等,容易被攻击者破解,一旦被攻击者获取,可用来直接登录系统,控制服务器所有权限。0x01应急场景某天,网站
流浪剑客 流浪剑客
5个月前
终端ssh仿真工具:SecureCRT for mac最新授权码激活 支持M1
是一款功能强大的SSH和Telnet客户端,旨在提供最安全的连接和最高效的通信。它支持SSH1、SSH2以及Telnet协议,能够与各种网络设备进行安全的远程连接。SecureCRT具有多种安全功能,包括数据加密、身份验证和访问控制等,确保远程连接的安全性
小万哥 小万哥
1个月前
Git 安全远程访问:SSH 密钥对生成、添加和连接步骤解析
使用SSH密钥对的Git安全远程访问:生成、添加和连接SSH(SecureShell)是一种用于安全远程访问的协议,它提供了加密通信和身份验证机制。在使用SSH连接到远程Git存储库时,您可以使用SSH密钥对来确保安全性。以下是关于如何生成和使用SSH密钥
Easter79
Easter79
Lv1
今生可爱与温柔,每一样都不能少。
文章
2.8k
粉丝
5
获赞
1.2k