ssh免密钥登陆

ssh免密钥登陆

描述:主机a免密钥登陆主机b,以a主机root用户免密钥登陆b主机root用户为例,其他用户同理。

1.在a主机上创建公钥和密钥

1 ssh-keygen

一路回车

查看生成的密钥对:

1 # ll /root/.ssh/
2 total 16
3 -rw-------. 1 root root  393 May 24 15:30 authorized_keys 
4 -rw-------. 1 root root 1679 May 24 15:10 id_rsa     #私钥
5 -rw-r--r--. 1 root root  393 May 24 15:10 id_rsa.pub #公钥
6 -rw-r--r--. 1 root root  396 May 24 17:21 known_hosts

2.把公钥复制到远程主机上

2.1方法1:

1 # ssh-copy-id -i /root/.ssh/id_rsa.pub  root@b主机ip

ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上,但是这种方法需要输入b主机root密码。

2.2方法2:不需要输入b主机用户密码

查看a主机公钥内容:

1 # cat id_rsa.pub
2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+Mte708BSEoyFdu1lShkj00FRVFmQwf9H++1KtbAfxuL09LlUPIN3W/GfAK7I3aQk19n5tfYZGVZc1mABuQGFjOq0nBFuWLpCcWU/8X2d496MF0gsxNcXxa5+YXqjulIJdGkIvDKuQJalnsbXP1M3rKbKptxmUyrQxyC7pVsXk6ccko1fZRMBLR1Vf7A8OsUfh/NWF16YtZU14SqpD57/XVzhvp0emprj4ESAkWnpMZZP7g/NUb7R1kNdhXUTBTNQaJjyK8EnGlD/7f8GuMSAftVYnId/GTTywFbOvZ733WrS0cMRl36XZGHmezCEu2D2uS01tumMDi3JfqJKPsGf root@a

复制粘贴到b主机.ssh/authorized_key文件里,若不存在手动创建:

1 # cat authorized_keys
2 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC+Mte708BSEoyFdu1lShkj00FRVFmQwf9H++1KtbAfxuL09LlUPIN3W/GfAK7I3aQk19n5tfYZGVZc1mABuQGFjOq0nBFuWLpCcWU/8X2d496MF0gsxNcXxa5+YXqjulIJdGkIvDKuQJalnsbXP1M3rKbKptxmUyrQxyC7pVsXk6ccko1fZRMBLR1Vf7A8OsUfh/NWF16YtZU14SqpD57/XVzhvp0emprj4ESAkWnpMZZP7g/NUb7R1kNdhXUTBTNQaJjyK8EnGlD/7f8GuMSAftVYnId/GTTywFbOvZ733WrS0cMRl36XZGHmezCEu2D2uS01tumMDi3JfqJKPsGf root@a

3.免密钥登陆

ssh b主机ip

4.问题

由于不知道root用户密码,采取的第二种方法,发现还是无法免密钥登陆:

4.1首先,检查权限,并没有问题:

.ssh目录,以及/home/当前用户 需要700权限:

1 chmod 700 ~/.ssh
2 chmod 700 /home/当前用户

b主机.ssh目录下的authorized_keys文件需要600或644权限:

1 chmod 644 ~/.ssh/authorized_keys

4.2检查b主机/etc/ssh/sshd_config配置文件,根据实际情况改参数

修改以下参数后,可以通过root免密钥登陆:

# PermitRootLogin no
改成:
PermitRootLogin yes

记得一定要重启sshd服务:

1 # /etc/init.d/sshd restart

此时用a主机root用户通过ssh免密钥登陆b主机root用户了。。。

猜你喜欢

转载自www.cnblogs.com/yangjianan/p/9084271.html