ssh config:把常用服务器登录信息写进配置,一行命令直连

举报
yd_240997615 发表于 2026/10/24 14:07:02 2026/10/24
【摘要】 第一次管云服务器时,登录命令往往是这样的:ssh -p 2222 user@203.0.113.10 -i ~/.ssh/work_key。服务器一多,这些参数就记不住了:哪台用了哪个端口、哪台要用哪个密钥、哪台的用户名不一样。很多人靠 shell 历史记录翻找,或者在备忘录里存一堆命令,既不方便也不安全。ssh 自带的 config 文件就是用来解决这个问题的:把连接信息写进 ~/.ssh...

第一次管云服务器时,登录命令往往是这样的:ssh -p 2222 user@203.0.113.10 -i ~/.ssh/work_key。服务器一多,这些参数就记不住了:哪台用了哪个端口、哪台要用哪个密钥、哪台的用户名不一样。很多人靠 shell 历史记录翻找,或者在备忘录里存一堆命令,既不方便也不安全。ssh 自带的 config 文件就是用来解决这个问题的:把连接信息写进 ~/.ssh/config,之后登录只需要 ssh 别名。

一、从一长串参数到一个别名

新建或编辑 ~/.ssh/config,把权限设为 600(ssh 对权限要求严格,组可写会直接拒绝使用):

touch ~/.ssh/config
chmod 600 ~/.ssh/config

然后写入一个 Host 块:

Host work
    HostName 203.0.113.10
    Port 2222
    User deploy
    IdentityFile ~/.ssh/work_key

从此登录只需要敲 ssh work。参数多了反而看得更清楚:每个字段各占一行,改端口、换密钥都在这里改一次,不用去翻历史命令。

二、一个文件管理所有服务器

Host 块可以写很多个,配合通配符还能给一批服务器设默认值:

Host web-*
    User deploy
    Port 2222
    IdentityFile ~/.ssh/work_key

Host web-01
    HostName 203.0.113.11

Host web-02
    HostName 203.0.113.12

Host bastion
    HostName 198.51.100.5
    User admin
    Port 22
    IdentityFile ~/.ssh/bastion_key

ssh web-01 会自动继承 web-* 的 User、Port 和密钥,只需要单独写 IP。机器扩容时复制一个块、改个 IP 就行,比维护一份命令清单省事得多。

三、几个实用的小配置

除了基本信息,config 还能顺手解决几个常见痛点:

免输密码:配合 ssh-copy-id 把公钥传到服务器,之后 ssh 别名 直接登录,无需记忆密码。

连接复用:经常开关多个 ssh 会话会觉得慢,加上复用配置后同一主机的后续连接几乎秒开:

Host *
    ControlMaster auto
    ControlPath ~/.ssh/sockets/%r@%h-%p
    ControlPersist 10m

长连接保活:服务器因超时断开时很恼人,客户端侧加两行即可:

Host *
    ServerAliveInterval 60
    ServerAliveCountMax 3

跳板机跳转:内网机器通过跳板访问,不用先 ssh 到跳板再转一次:

Host db-inner
    HostName 10.0.1.20
    User dbadmin
    ProxyJump bastion

四、两点注意事项

第一,config 文件里的密钥路径和用户名不要随手分享给别人,文件本身就是一份服务器清单,备份时也当作敏感资料处理。第二,如果一台机器的配置写错了,ssh 会给出明确的报错行号(Bad configuration option 会指到具体行),逐行排查即可。

把连接信息从「记在脑子里」变成「写在配置文件里」,是运维习惯上一个很小的转变,但服务器数量超过三台之后,省下的时间和避免的输错,都会让你庆幸早写了这个文件。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。