SSH基于key验证
ssh客户端在第一次申请连接ssh服务器的时候
ssh客户端会生成当前用户的公钥和私钥对,然后把公钥发送到要连接的服务器端用户的家目录。
当ssh客户端再次连接ssh服务器时,发送用客户端私钥签名的请求,服务器收到请求时,会用对应的公钥验证客户端的签名。
CentOS 6 haha用户连接CentOS 7 luo 用户
![Uploading image_005339.png . . .]
当第一次连接的时候,系统提示SSH基于key验证
ssh客户端在第一次申请连接ssh服务器的时候
ssh客户端会生成当前用户的公钥和私钥对,然后把公钥发送到要连接的服务器端用户的家目录。
当ssh客户端再次连接ssh服务器时,发送用客户端私钥签名的请求,服务器收到请求时,会用对应的公钥验证客户端的签名。
CentOS 6 haha用户连接CentOS 7 luo 用户
当第一次连接的时候,系统提示是否确认连接一个未知的主机,如果确认,就会添加永久'192.168.5.139' (RSA)到knownhosts列表。
客户端:
生成密钥
ssh-keygen -t rsa -P 'kouling123'
-t:指定密钥加密类型
-P:指定私钥口令
私钥:id_rsa
公钥:id_rsa.pub
拷贝客户端公钥到服务器
拷贝完成。系统提示已生成 .ssh/authorized_keys文件在192.168.5.139的luo用户家目录里。
基于key登录:
基于key登录时,并不需要CentOS7 luo用户的密码。而是提示输入rsa口令,这里的rsa口令是第一步生成密钥时我设置的。这个rsa口令可以保障rsa文件被泄露时,他人无法使用它。也许你会问,那跟密码登陆有什么区别呢?区别就是key验证可以使用在多台机器上,只要你把公钥拷贝到多台服务器,就可以使用同一个私钥登陆。
当然啦,你也可以不设置rsa口令,登陆或者使用scp等基于ssh的命令时,就不需要服务器的密码了,也不需要rsa口令。
清空或者修改私钥口令:
使用验证代理: