今天收到一个需求,开通6台服务器,服务器之间做免密登录。
所有服务器的统一配置:1-3
1、修改hosts文件,把所有服务器的hostname命和ip地址对应写到/etc/hosts 里面。
10.1.1.1 ip-10-1-1-1
10.1.1.2 ip-10-1-1-2
2、修改/etc/ssh/sshd_conf
#>vi /etc/ssh/sshd_config
??????? 找到以下内容,并去掉注释符”#“
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile ? ? ?.ssh/authorized_keys
?????? 重启ssh服务
? #>service sshd restart
3、关闭selinux ,把SELINUX= 改成 disabled
#> cat /etc/selinux/config
SELINUX=disabled
SELINUXTYPE=targeted
秘钥文件处理: A(10.1.1.1)要免密登录B(10.1.1.2)
以下操作都要在想免密登录使用的用户下操作。
1.在A服务器操作:
生成秘钥文件并发公钥分发到被登录的服务器端:
$> ssh-keygen -t rsa
一路敲回车,什么都不用输入
会生成两个秘钥文件
$> ll /home/dmadmin/.ssh/
authorized_keys -----------ssh服务会找的秘钥文件,里面存档的是锁文件,
id_rsa -----------这是私钥文件(钥匙),A服务器需要此文件。
id_rsa.pub -----------这是公钥文件(锁),需要写到B服务器的authorized_keys里面。
$>cat ~/.ssh/id_rsa.pub >> /home/dmadmin/.ssh/authorized_keys
$>chmod 400 /home/dmadmin/.ssh/authorized_keys
$>ssh-copy-id -i .ssh/id_rsa.pub [email protected] 把锁文件传送到被登录的服务器里面。
2.在B服务器操作
登录到要被登录的服务器,修改秘钥文件的权限
$>chmod 400 /home/dmadmin/.ssh/authorized_keys
3.回到A服务器测试免密登录:可以连接计算机名也可以连接IP地址
A~$>ssh 10.1.1.2
A~$>ssh ip-10-1-1-2
此时不需要密码,A服务器可以直接登录到B服务器。
---------------------------------------------------------------------
B服务器免密登录到A服务器
1.因为当时A服务器已经把公钥文件放到自己的/home/dmadmin/.ssh/authorized_keys文件里面,只要把这把锁的要是拷贝到本地/home/dmadmin/.ssh/目录下即可。
2.拷贝钥匙到B服务器/home/dmadmin/.ssh/
在A服务器使用scp命令把私钥文件拷贝到B服务器里面。
A~$>scp /home/dmadmin/.ssh/id_rsa [email protected]:/tmp/
在B服务器使用mv命令把撕咬文件拷贝到/home/dmadmin/.ssh/下
B~$>mv /tmp/ia_rsa /home/dmadmin/.ssh/
3.B服务器免密登录A服务器:可以连接计算机名也可以连接IP地址
B~$>ssh 10.1.1.1
B~$>ssh ip-10-1-1-1
原文地址:http://blog.51cto.com/993960/2310864
时间: 2024-10-09 14:35:16