SSH远程连接,你要知道的事

免密登陆 & 简化IP

Posted by Xuan on February 18, 2020

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 命令查看

参考

ssh免密登录配置+调试讲解(超详细)+原理解析 SSH config使用教程和总结