幽谷奇峰 | 燕雀鸣幽谷,鸿鹄掠奇峰

SSH使用技巧一则:使用config文件创建别名


在config文件中创建别名

当你在执行 ssh 命令登录服务器时,有没有被需要输入命令后面的一长串参数感到厌烦呢?比如,名为 serveradmin 的用户要登录到 server.example.com 主机上,需执行:

1
$ ssh serveradmin@server.example.com

你当然可以使用 alias,但 SSH 本身也提供有相应的解决方案──你可在 SSH 的 config 文件中为需要经常访问的远程主机创建别名。

首先,找找看你的用户主目录下是否有目录 .ssh,若没有,则使用 mkdir 创建一个;

然后,使用你喜欢的文本编辑器(如 Vim)来创建 config 配置文件:

1
$ vim ~/.ssh/config

此 config 文件的权限必须是644:

1
$ chmod 644 ~/.ssh/config

仍以前面的例子来说明,假设我要创建的别名为 lt,则加入下面的内容,其中 HostName 为主机名,User 为用户名:

1
2
3
Host lt
    HostName server.example.com
    User serveradmin

现在,你只要执行 ssh lt 就可以了。

config文件中的常用字段

字段 说明
Host 指定一个别名(alias)
HostName 服务器主机名
Port 连接端口
User 用户名
IdentityFile 指定密钥文件
PreferredAuthentications 指定认证方式,通常为 publickey

下面是一个 config 文件示例:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
Host *
    PreferredAuthentications publickey

Host github1
    HostName github.com
    IdentityFile ~/.ssh/github1_rsa

Host github2
    HostName github.com
    IdentityFile ~/.ssh/github2_rsa

Host gitcafe
    HostName gitcafe.com
    IdentityFile ~/.ssh/gitcafe_rsa

前两行表示,下面所有的服务器优先使用密钥认证的方式;

第4~第10行,设置了两个别名,分别代表两个 github.com 的帐户,使用各自的密钥文件,只要使用下列地址:

git@github1:accountname/reponame.git

git@github2:accountname/reponame.git

就可以分别连接到各自的帐户。

最后三行,设置了另一个 Git 服务器 gitcafe.com 的别名和密钥。


本作品由 Yysfire 创作,采用知识共享许可协议进行许可。转载时请在显著位置标明本文永久链接:
http://yysfire.github.io/linux/create-ssh-alias.html


相关文章


最后修改
2012-10-30 22:07
发表时间
2012-10-30 21:50
本文标签
alias 1 Linux 18 SSH 2 ssh-agent 2
关注我

侧栏导航