实验室的服务器需要通过ssh访问,但是计算中心有自己的ssh key(曾经我的解决办法是暴力将所有server的ssh key换成同一个)。今天学到了,可以通过设置~/.ssh/config,这样在一个终端,可以访问不同的server时候,会使用不同的ssh private key。因为你可以在.ssh/config里面指定所用的private key! (IdentityFile)
Host server_name
HostName ip-or-domain-of-server
Port #some number
User user
IdentityFile ~/.ssh/id_rsa_real
其中,HostName, Port, User 都需要根据情况自行设定。IdentityFile是相对应的ssh private key。
但是,今天我有个知识盲区:不知道config file 的作用!
因为通常我ssh到服务器都是通过如下命令的(也不嫌烦):
ssh username@dev.example.com -p 2322
然而,如果你设置了config file,就可以很轻松的ssh,因为ssh客户端会阅读你的config,并且使用你制定好的ssh细节:
Host dev
HostName dev.example.com
User username
Port 2322
等于说,你下次连接Host,只需要敲:
ssh dev
非常高级!希望对大家有用!
本小白,每天在实验室里都在痛苦地摸索....
Reference: