centos 传输连接不用输入密码
ssh 服务登录方式有两种:
用户/口令
基于秘钥
基于用户和口令登录验证:
1 客户端发起ssh请求,服务器会把自己的公钥发送给用户
2 用户会根据服务器发来的公钥对密码进行加密
3 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确, 则用户登录成功
基于用户名口令登录验证:
ssh 服务基于密钥登录验证:
基于密钥的登录方式
1 首先在客户端生成一对密钥(ssh-keygen)
2 并将客户端的公钥ssh-copy-id 拷贝到服务端
3 当客户端再次发送一个连接请求,包括ip、用户名
4 服务端得到客户端的请求后,会到authorized_keys中查找,如果有响应的IP和用户,就会随机生成一个字符串,例如:magedu
5 服务端将使用客户端拷贝过来的公钥进行加密,然后发送给客户端
6 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端
7服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录
ssh-keygen # 生成客户端公钥文件,默认是rsa
ssh-copy-id -i /root/.ssh/id_rsa root@172.16.8.180 复制私钥文件或公钥文件到服务端172.16.8.180,默认发的还是公钥
ssh-keygen -t dsa # 生成客户端公钥文件 指定dsa算法
sh-copy-id -i /root/.ssh/id_dsa root@172.16.8.180
互相之间传文件或执行命令也不用输入密码
-------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------- 博客均为个人笔记,无所追求,仅供参考~~~ QQ--2382990774