ssh config
Home目录下的.ssh
目录包含下面4个文件:
.ssh
├── config
├── id_rsa
├── id_rsa.pub
└── known_hosts
正常情况都会有known_hosts
文件,用于保存允许免密登录到本机的用户的公钥。因此,如果要让主机对你免密登录,只要把自己的公钥添加到该主机的这个文件。
执行ssh-keygen
命令将自动生成id_rsa
和id_rsa.pub
两个文件,前一个文件为私钥,后一个为公钥。
最后的config
文件,通常自己手动创建,用来保存登录到其它主机的账号信息,包括主机名、主机地址、端口号、认证文件等。例子如下:
Host 10-180-0-31 # 主机名,可以任意取
User wuxiangwei # 用户名
HostName 115.236.124.31 # 目标主机
Port 1046 # 端口号
IdentityFile ~/.ssh/id_rsa # 认证文件
有了上述配置后,可以方便地使用ssh 10-180-0-31
命令登录目标主机。
否则,要执行冗长的ssh -p 1046 wuxiangwei@115.236.124.31 -i ~/.ssh/id_rsa
命令,当然这个命令中的用户名和私钥路径在一定情况下也可以省略。config
文件带来的好处是:
- 输入命令变短了;
- 可以使用更容易记的自定义的名字来替代IP地址;
- 可以统一管理所有账号。
和Shuttle的配合使用:
- 减少
.ssh/config
中单项的大小,通过修改/etc/ssh/ssh_config
的默认配置来实现; - 实现shuttle中的菜单。在config每项中添加
# shuttle.name
来实现,一个/
代表一级菜单;
开启key转发功能:
- 修改config文件如下:
Host *
StrictHostKeyChecking no
Port 1046
ForwardAgent yes
- 在mac、跳板机中执行
ssh-add
命令;
Git bash
配色 使用config
Xshell
秘钥转发功能
隧道: