ssh使用秘钥登录
背景:
在 A 机器上通过秘钥登录 B 机器
1. 在 A 机器上生成 秘钥对
非对称秘钥默认是保存在 ~/.ssh/
目录下的,先查看下,该机器是否已有秘钥对:
[root@zx09 ~]# ll .ssh/
total 0
-rw------- 1 root root 0 Nov 8 10:55 authorized_keys
没有,则生成:
输入命令: ssh-keygen
[root@zx09 ~]# ssh-keygen
如果不做其他配置的话,直接回车,如图:
再次查看 .ssh 目录:
[root@zx09 ~]# ll .ssh/
total 8
-rw------- 1 root root 0 Nov 8 10:55 authorized_keys
-rw------- 1 root root 2590 Nov 8 16:39 id_rsa
-rw-r--r-- 1 root root 563 Nov 8 16:39 id_rsa.pub
id_rsa
: 为私钥
id_rsa.pub
: 为公钥
2. 将公钥内容粘贴到 B 机器
将 id_rsa.pub
内容复制出来:
cat .ssh/id_rsa.pub
并粘贴 B 机器中的 .ssh/authorized_keys
,保存退出
3. 在 A 机器中使用私钥登录登录
ssh -p 6622 -i .ssh/id_rsa zx03
-p
: 为ssh的端口号,这里修改了ssh的默认端口
-i
: 为A机器的私钥
如果服务器端只允许用秘钥登录的话,修改 /etc/ssh/sshd_config
配置,将 PasswordAuthentication
设置为 no
到此,成功登录B机器。