使用场景是这样的,我在内网的 NAS 上部署了多个服务,它们的主机名是相同的,但是端口不同,比如 122 端口是群晖本身,需求用户名密码登录,222 端口是 gitlab ,需求配置 ssh key 。
ssh 命令行的优先级高于配置文件,所以目前在我配置 gitlab 的私钥文件之后,可以通过命令行指定 -o PreferredAuthentications=password -p 122
来登录,但是我想要在配置文件中指定不同端口采用不同的策略,或者可能是不同端口使用不同的私钥文件登录。
搜了一大圈没有找到有类似解决方案,manual 里也没发现,各位大佬有没有懂怎么操作的。
1
yzwduck 2022-08-12 23:14:20 +08:00 1
Host synology
HostName server.local Port 122 Host gitlab HostName server.local Port 222 IdentityFile /path/to/ssh.key 按上面配置 ssh_config 后,使用 ssh synology 或者 ssh gitlab 来连接不同服务。 |
2
wonderfulcxm 2022-08-12 23:17:55 +08:00 via iPhone
楼上正解
|
3
EyebrowsWhite OP @yzwduck 感谢,试了下可以的。不过就是要把我现在本地的 git config 里面的 remote url 全改成 ssh://git@gitlab/repopath.git 这种,还得改一波 gitlab 配置,感觉有点不太划算 :-D 。但是似乎也没有更好的方式了
|
4
EyebrowsWhite OP @yzwduck 刚发现我配置成这样的话,那就完美没问题了 ^o^
Host synology HostName server.local Port 122 Host server.local HostName server.local Port 222 IdentityFile /path/to/ssh.key |
5
xyjincan 2022-12-28 13:43:14 +08:00
修改 hosts ,dns ,让一个机器拥有很多个名字
nas.xxx.local 192.168.1.100 gitlab.xxx.local 192.168.1.100 |