ssh协议
定义:SSH是一种网络协议,用于加密两台计算机之间的通信 ; SSH的架构是服务器-客户端模式,使用的是非对称加密,实现了SSH协议的最主流的开源软件OpenSSH
非对称加密:非对称加密有两个秘钥,“公钥”和“私钥”
两个秘钥的特性:公钥加密后的秘闻,只能通过对应的私钥进行解密;而通过公钥推理出私钥的可能性微乎其微。私钥是Server端独有。
ssh建立流程
- 远程Server收到用户的登录请求,把自己的公钥发给用户
- 用户使用这个公钥,将登录密码加密后,发送回来
- 远程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文件
问题二
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