我有这样的需求就是,由于须要ssh链接到服务器,而后每次须要输入好大一长串的信息,并且链接到一台服务器后,还可能跳转到另一台服务器,并且每次还须要输入密码,因此感受很是的麻烦。docker
为了解决这个问题,我用上了ssh中的config配置文件ruby
1. 配置前
ssh username@hostname -p port 而后输入密码
2. 配置后
- 配置之后,咱们只须要输入链接帐户的别名便可
ssh 别名
3. 配置方法
- 在.ssh/config中配置,若是没有config,建立一个便可,而后将下面的(别名,主机名,端口,用户名替换便可),端口若是默认22能够不要,删除那行便可。
Host 别名 Hostname 主机名 Port 端口 User 用户名
- 配置好以后,就能够直接ssh 别名链接了,不须要输入一长串,可是仍是有一个问题,就是仍是须要输入密码。解决办法就是将咱们的公钥拷贝到链接的机器上就能够了。
4. 密钥生成
ssh-keygen -t rsa 而后一直回车就能够了
5. 拷贝公钥
- 5.1 一种方法是直接用ssh-copy-id,会拷贝以前生成的公钥
ssh-copy-id 别名 这里能够用别名的前提是以前已经配置好了。若是没有的话,就只有像ssh在配置前的操做同样。
- 5.2.1 另一种方法是用scp进行拷贝,替换下面的username和hostname
scp .ssh/id_rsa.pub username@hostname:~/.ssh/
- 5.2.2 而后将拷贝以后的id_rsa.pub内容添加到.ssh/authorized_keys里面(若是不存在,那么就建立一个)
cat id_rsa.pub >> .ssh/authorized_keys
6. 重启服务器的ssh服务
/etc/init.d/ssh restart