假设三台主机分别是 centos001, centos002, centos003
ssh-keygen -t rsa
回车三次, ~/.ssh下生成文件
id_rsa: 私钥文件
id_rsa.pub: 公钥文件
#公钥写入认证文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
- 在第1台机器上: 把第1台机器的 authorized_keys发送到第2台
scp -p ~/.ssh/authorized_keys hadoop@192.168.88.129:/home/hadoop/.ssh/
- 在第2台机器上:把第2台机器的公钥附加在认证文件尾部
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 把第2台机器的 authorized_keys发送到第3台
scp -p ~/.ssh/authorized_keys hadoop@192.168.88.130:/home/hadoop/.ssh/
- 在第2台机器上:把第3台机器的公钥附加在认证文件尾部
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 把第3台机器的 authorized_keys发送到另外两台
scp -p ~/.ssh/authorized_keys hadoop@192.168.88.128:/home/hadoop/.ssh/
scp -p ~/.ssh/authorized_keys hadoop@192.168.88.129:/home/hadoop/.ssh/
- 即可在三台主机之间免密发送文件(注意没有带用户名)
# 从第1台向第3台发送
scp -p aaa.txt 192.168.88.130:/home/hadoop/bbb.txt
# 从第1台登录第2台
ssh hadoop@192.168.88.129
# 从第1台登录第2台并执行一些命令
ssh hadoop@192.168.88.129 <<EOF
cd ~/Downloads
touch cc.txt
EOF
- 域名和IP绑定(域名更方便),在每一台机器上修改 /etc/hosts,加入如下三行
192.168.88.128 centos001
192.168.88.129 centos002
192.168.88.130 centos003
- 即可在三台主机之间免密发送文件(注意没有带用户名,且使用域名)
# 从第1台向第3台发送
scp -p aaa.txt centos003:/home/hadoop/bbb.txt