配置多台服务器之间ssh免密登录¶
使用scp 或者 rsync命令在多台Linux服务器之间同步文件时需要输入密码,除了使用expect实现自动化交互以外,还有一种方法就是配置服务器之间ssh免密登录,本文记录一下具体配置过程。
1. 创建.ssh目录¶
假定有3台Linux主机,分别为A,B,C
在所有主机上创建ssh目录并赋予权限
mkdir /root/.ssh
chmod 700 /root/.ssh
2. 生成公钥与私钥¶
所有主机生成公钥与私钥,执行以下命令:
$ cd ~ # 进⼊入用户目录
$ ssh-keygen -t rsa -P "" # 生成ssh密码,-t 参数表示生成算法,可以选择rsa和dsa;-P表示使用的密码,""表示无密码。
4. 测试¶
ssh root@要进行链接的机器ip地址
主机A -> B:
[root@hostA ~]# ssh root@192.168.20.20
Last login: Sat Jul 10 10:17:34 2021 from hostA
[root@hostB ~]#
主机B -> A:
[root@hostB ~]# ssh root@192.168.20.10
Last login: Sun Jul 11 19:54:08 2021 from hostB
[root@hostA ~]#