多台Flink机器间scp、ssh免密码

228 阅读1分钟

假设三台主机分别是 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