Linux下ssh免**登录

对于使用SHELL脚本进行批量服务器登录管理时,我们期望通过脚本能免**登录服务器,从而进行一些运维工作。

场景:

服务器A:192.168.1.132

服务器B:192.168.1.133

我们想通过服务器A免**ssh登录服务器B

步骤如下:

1、在服务器A上执行ssh-******生成公钥和**
ssh-****** 回车三次
Linux下ssh免**登录
此时在/root/.ssh目录下会生成**id_rsa和公钥id_rsa.pub
2、将公钥id_rsa.pub拷贝至服务器B
ssh-copy-id-i /root/.ssh/id_rsa.pub  192.168.1.133
第一次拷贝公钥需要得到远程机器的授权允许(输入对方的密码)
3、远程登录就不需要输入密码

 [[email protected]]# ssh -l root 192.168.1.133 "df -h"

Filesystem      Size Used Avail Use% Mounted on

/dev/sda2        15G 4.3G   10G  30% /

tmpfs           491M     0 491M   0% /dev/shm

/dev/sda1       190M  30M  150M  17% /boot

/dev/sda3       3.9G 8.1M  3.7G   1% /home

4、公钥拷贝至服务B的路径和名称是

[[email protected]]# ll /root/.ssh/

-rw-------1 root root  393 11月 18 17:18authorized_keys

5、配置多台机器都免**,将公钥的id_rsa.pub内容追加至远程机器的authorized_keys文件中