author:JevonWei
版权声明:原创作品
用户实现key认证登录
主机A 192.168.198,134
主机B 192.168.198,131
主机C 192.168.198,136
-
创建无秘钥连接
主机A秘钥连接主机B
- 客户端生成秘钥对
ssh-keygen -t rsa [-p ' '] [-f "~/.ssh/id_rsa"] -t 指定加密类型,默认为rsa,可省略,-P指定创建秘钥连接,可为空,-f指定秘钥文件存放路径,默认存放路径为~/.ssh/id_rsa - 客户端将生成的公钥文件传输给ssh服务端对应的用户家目录下
ssh-copy-id -i ~/.ssh/id_rsa.pub danran@192.168.198.131 -i 指定公钥文件路径,传输给192.168.198.131主机上的danran用户的家目录下 - ssh danran@192.168.198.131 使用秘钥自动登录,无需键入用户密码
- 客户端生成秘钥对
主机A秘钥连接主机C
4. ssh-copy-id -i ~/.ssh/id_rsa.pub danran@192.168.198.136 \ 复制本机的公钥文件到第三台主机上root用户家目录下
5. ssh danran@192.168.198.136 \使用秘钥连接第二台主机
主机B秘钥连接主机A
6. ssh-keygen -t dsa \ 主机B创建秘钥文件,-t指定dsa算法
7. ssh-copy-id -i ~/.ssh/id_dsa.pub 192.168.198.134 \-i 指定公钥文件路径,不指定传输的用户即为默认的当前用户
8. ssh 192.168.198.134 \ 自动登录
9. 查看主机A上的公钥文件数据
cat ~/.ssh/known_hosts \ 多个远程主机用户的公钥数据可追加到当前用户家目录下的.ssh/known_hosts文件中
10. ssh 192.168.198.134uname -r
可直接连接192.168.198.134主机并执行uname -r命令
-
为秘钥添加口令(即每次连接都需输入秘钥口令)
ssh-keygen -p -f .ssh/id_rsa 交互式为rsa秘钥文件添加口令
ssh-keygen -N "danran" -f .ssh/id_dsa \非交互式直接指定dsa算法的秘钥文件的口令,-N ' '意为空口令
-
在本地主机上修改秘钥文件的口令
ssh-keygen -p -f ~/.ssh/id_dsa -f 指定秘钥文件
-
使用代理验证保存秘钥连接的口令(代理退出需重新登录)
- ssh-agent bash 将代理程序启动
- ssh-add 将秘钥文件的口令托管给代理
- ssh danran@192.168.198.131
-
Xshell生成key认证
选择加密算法及位数
输入秘钥的口令,口令可为空
秘钥导出保存到本地
将导出的秘钥文件传输到需连接的主机上的~/.shh下
cat .ssh/id_rsa_1024.pub > .ssh/authorized_keys 将拷贝的秘钥文件必须命名为authorized_keys
使用xshell建立会话连接
验证方式选择Public Key认证
若秘钥文件添加过口令,则在此键入秘钥的口令
-
SecureCRT生成公钥文件
选择秘钥的加密算法
选择键入秘钥文件的口令,可为空
加密算法的位数
选择公钥私钥文件的存放到本地的路径
将本地的公钥文件传输到需连接主机的~/.ssh/下
将传输的公钥文件格式进行转换ssh-keygen -i -f Identity.pub >> ~/.ssh/authorized_keys \ -i指定公钥文件的路径,并命名为authorized_keys
新建一个会话连接
选择验证方式和输入主机地址及用户名,即可登录