SSH远程连接服务器
实现免密登陆
想要在node1 上免密登陆 node2:
1.在node1节点上生成公钥以及私钥
ssh-keygen -t rsa
一路回车后,公私钥生成完毕
2.两种方法
- 推荐 : 直接把自己密钥拷贝到需要免密的机器上
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户名@ip
输入密码后,在登陆该机器将不在需要密码
- 将node1上的公钥(id_rsa.pub)拷贝到node2上; node2将该公钥加入自身认证(authorized_key)
scp -p id_rsa.pub hadoop@node2:~/.ssh/id_rsa.pub1
cat id_rsa.pub1 > authorized_key
为远程机器iP设置简短的标识
- 针对某个用户的ssh配置文件在路径 (~/.ssh/config)
- 针对系统的ssh配置文件在路径(/etc/ssh/ssh_config)
cd ~/.ssh
vim config
添加:
host node1
HostName node1.eng.uts.edu.au
Port 22
User xuanzhan
保存退出,重启Terminal
host: 写入想要使用的简段缩写
hostname: 远程主机的IP
User: 登录远程主机的用户名
设置后再使用scp命令再不同主机间传数据时,也可以进行简化替换:
scp tmp.txt node1.eng.uts.edu.au:~/
替换: scp tmp.txt node1:~/
更多参数可以通过man ssh_config 命令查看