Linux下ssh免**登录
对于使用SHELL脚本进行批量服务器登录管理时,我们期望通过脚本能免**登录服务器,从而进行一些运维工作。
场景:
服务器A:192.168.1.132
服务器B:192.168.1.133
我们想通过服务器A免**ssh登录服务器B
步骤如下:
1、在服务器A上执行ssh-******生成公钥和** 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文件中 |