对于使用SHELL脚本进行批量服务器登录管理时,我们期望通过脚本能免密钥登录服务器,从而进行一些运维工作。
场景:
服务器A:192.168.1.132
服务器B:192.168.1.133
我们想通过服务器A免密钥ssh登录服务器B
步骤如下:
| 1、在服务器A上执行ssh-keygen生成公钥和密钥 ssh-keygen 回车三次 ![]() 此时在/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、远程登录就不需要输入密码 [root@centos.ssh]# 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的路径和名称是[root@centos.ssh]# ll /root/.ssh/ -rw-------1 root root 393 11月 18 17:18authorized_keys 5、配置多台机器都免密钥,将公钥的id_rsa.pub内容追加至远程机器的authorized_keys文件中 |
本文介绍如何在服务器A上生成SSH密钥,并将其复制到服务器B,实现从A到B的免密钥登录。首先在A上用ssh-keygen生成密钥对,然后用ssh-copy-id将公钥发送到B。完成配置后即可实现免密登录并执行运维任务。

4520

被折叠的 条评论
为什么被折叠?



