如何为 ssh 命令创建别名?

如何为 ssh 命令创建别名?

我有一个命令,看起来像这样:

$ ssh [long list of parameters, eventually I connect to internalhost]

我的任务是将这一长串参数替换为 just internalhost,以便我可以像这样运行它

$ ssh internalhost

我怎样才能做到这一点?

答案1

我通常使用.ssh/config在我的主目录中找到的文件以ssh ubserver.在此处找到的文件中,/home/$USER/.ssh我有以下配置:

Host ubserver
    Hostname 127.0.0.1
    Port 2222
    User george

这意味着我可以简单地做:

ssh ubserver

并连接到所述服务器,而无需在终端中输入超过该行的内容。

答案2

标准 SSH 客户端在任何连接之前读取配置文件:

/etc/ssh/ssh_config   # system-wide
~/.ssh/config         # per user

后者具有更高的优先级。
理想情况下,您希望使用令所有用户满意的参数来配置系统范围的配置,并使用特定于您的选项来配置您的主目录中的配置。
这是一个例子~/.ssh/config

Host remote.example.com
    User            dev1
    IdentityFIle    ~/.ssh/id_rsa_remote

然后进行连接:

ssh remote.example.com

笔记~/.ssh/config该用户必须具有读/写权限,并且其他人无法访问(chmod 600 ~/.ssh/config

所有可能的选项都记录在 ssh_config 手册页中:人 ssh_config

相关内容