ssh协议

定义:SSH是一种网络协议,用于加密两台计算机之间的通信 ; SSH的架构是服务器-客户端模式,使用的是非对称加密,实现了SSH协议的最主流的开源软件OpenSSH

非对称加密:非对称加密有两个秘钥,“公钥”和“私钥”

两个秘钥的特性:公钥加密后的秘闻,只能通过对应的私钥进行解密;而通过公钥推理出私钥的可能性微乎其微。私钥是Server端独有。

ssh 公钥与私钥 ssh远程公钥和私钥_ssh 公钥与私钥


ssh建立流程

ssh 公钥与私钥 ssh远程公钥和私钥_ssh 公钥与私钥_02

  1. 远程Server收到用户的登录请求,把自己的公钥发给用户
  2. 用户使用这个公钥,将登录密码加密后,发送回来
  3. 远程Server用自己的私钥,解密登录密码,如果密码正确,就同意用户登录

ssh的必要性

如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。 Secure Shell是Linux系统首选的登录方式,以前使用FTP或telnet登录服务器,都是以明文的形式在网络中发送账号密码,很容易被黑客截取到数据,后服务器数据安全。因此如何对数据加密,安全传输是重中之重,主要方式有两种:

  • 对称加密(秘钥加密),加密,解密使用同一套秘钥
  • 非对称加密(公钥加密)

sshd服务

sshd服务:使用SSH协议可以用来进行远程控制, 或在计算机之间传送文件,相比较之前用telnet方式来传输文件要安全很多,因为telnet使用明文传输,ssh是加密传输。

SSH 配置文件
SH 常用配置文件有两个/etc/ssh/ssh_config 和/etc/sshd_config。
1.ssh_config 为客户端配置文件
2. sshd_config 为服务器端配置文件

ssh连接出现问题

问题一
The authenticity of host ‘192.168.10.1 (192.168.10.1)’ can’t be established.
方法一

在ssh的时候加“-o StrictHostKeyChecking=no”选项
ssh -o StrictHostKeyChecking=no 192.168.10.1

方法二

修改/etc/ssh/ssh_config文件

ssh 公钥与私钥 ssh远程公钥和私钥_linux_03


问题二

Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

修改

vim /etc/ssh/sshd_config
修改
PasswordAuthentication yes

ssh连接过程

客户端操作

ssh ip地址

服务器操作-不允许root用户登入

打开 sshd_config文件
修改PermitRootLogin yes =》 no

重启sshd服务

systemctl restart sshd

sshd设置开机自启动

systemctl enable sshd

ssh 公钥与私钥 ssh远程公钥和私钥_配置文件_04