通过ssh协议实现用户key认证登录
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认证
![image]()
选择加密算法及位数
![image]()
![image]()
输入秘钥的口令,口令可为空
![image]()
![image]()
秘钥导出保存到本地
![image]()
将导出的秘钥文件传输到需连接的主机上的~/.shh下
cat .ssh/id_rsa_1024.pub > .ssh/authorized_keys 将拷贝的秘钥文件必须命名为authorized_keys
![image]()
使用xshell建立会话连接
验证方式选择Public Key认证
![image]()
若秘钥文件添加过口令,则在此键入秘钥的口令
![image]()
-
SecureCRT生成公钥文件
![image]()
选择秘钥的加密算法
![image]()
选择键入秘钥文件的口令,可为空
![image]()
加密算法的位数
![image]()
选择公钥私钥文件的存放到本地的路径
![image]()
将本地的公钥文件传输到需连接主机的~/.ssh/下
将传输的公钥文件格式进行转换ssh-keygen -i -f Identity.pub >> ~/.ssh/authorized_keys \\ -i指定公钥文件的路径,并命名为authorized_keys新建一个会话连接
![image]()
选择验证方式和输入主机地址及用户名,即可登录
![image]()
SSH的相关内容
danran

























浙公网安备 33010602011771号