一.什么是SSH连接
SSH为Secyre Shell的缩写,SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。且SSH连接可以通过多种平台上使用。
传统的网络服务程序,如FTP,POP以及TELNNET在本质上都是不安全的,都可以随意的被中间人截取和攻击,但是通过SSH可以将你的数据进行加密,还有一个额外的好处就是他的数据都是进行压缩处理的,所以传输速度也会有所提升。
SSH提供两种安全验证:
第一种:基于口令安全验证:只要你知道自己的账号和口令就可以登录到远程的主机。
第二种:需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。用这种方式,你必须知道自己密匙的口令。但是,与第一种级别相比,第二种级别不需要在网络上传送口令。第二种级别不仅加密所有传送的数据,而且“中间人”这种攻击方式也是不可能的(因为他没有你的私人密匙)。但是整个登录的过程可能需要10秒。
二。linux之间的SSH连接
1.首先要配置好SSH的设置以及激活SSH
我们输入:sudo ps -e | grep ssh(dpkg -l | grep ssh也可以)来看是否有SSH进程,如果输入没有响应,就是没有SSH进程,一般系统都默认没有服务器的安装,所以我们首先需要安装服务端才可以来连接,下面附上安装的教程:
https://jingyan.baidu.com/article/ff411625b20a0512e48237b9.html
2.连接远程主机:
我们只用在自己的机器上安装客户端就好,
输入:ssh 服务器名字@服务器IP -p 端口号 ,默认的一般情况下端口号都为22,所以可以不加-p后面的内容,然后输入客户机的密码就可以连接了。
如果想要退出直接用ctrl+d,或是输入exit.
3.通过SSH下载远程终端文件,或是上传远程终端文件
一定要记得这个时候不用和远程主机保持连接的状态,也就是说现在你是在用本地的IP进行操作的,然后我们再来看看下面的:(如果要传输文件一定要加上-r,如果要操作的远程主机的SSH端口号不是22,那么一定记得加上-P(这里的p是个大写的))
scp -r username@remote_ip:/home/username/remotefile /home/yskn //这个是将远程主机的文件夹下载到本地的文件 scp -r /home/yskn/file username@remote_ip:/home /username/remotefile //这个是将本地文件上传到服务器上 scp -P 端口 -r username@remote_ip:/home/username /remotefile /home/yskn //这个是将不是默认端口22的远程主机的文件夹下载到本地