ssh的用户配置文件config管理ssh会话
我有这样的需求就是,因为需要ssh连接到服务器,然后每次需要输入好大一长串的信息,而且连接到一台服务器后,还可能跳转到另外一台服务器,而且每次还需要输入密码,所以感觉非常的麻烦。
为了解决这个问题,我用上了ssh中的config配置文件
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