在SSH连接中如何设置使用本地SSH配置
时间 : 2025-04-15 17:14:38
编辑 : Jtti
SSH连接参数一大串,每次输都麻烦,更别说多台服务器了。有时候只是端口不同、用户名不同、密钥路径不同,一不小心就输错。对开发者来说,SSH 是远程操作 Linux 的主要方式。但一旦涉及多台机器、不同身份、不同端口,管理就容易出错。那么如何正确设置并使用本地SSH 配置文件,让连接服务器这件事变得简单又高效。只要设置好 .ssh/config就可以。
用SSH配置文件常见痛点有:每台服务器都要记 IP、端口;多套密钥混着用,常输错;每次都敲长命令,效率低;临时切环境容易搞混(开发/测试/生产);
用 .ssh/config 配置文件,可以解决这些问题,做到再也不用记 IP,设置默认用户名、端口、密钥,按环境或业务组织结构管理,快速一键登录;
SSH配置文件在哪里?怎么写?
SSH 配置文件路径:~/.ssh/config
如果没有,可以手动创建:
touch ~/.ssh/config
chmod 600 ~/.ssh/config
权限必须设为 600.否则 SSH 会拒绝读取它。
一个最简单的例子:
Host web1
HostName 192.168.1.205
User root
Port 2222
IdentityFile ~/.ssh/id_rsa
配置好后,连接只需:
ssh web1
是不是简单很多?
进阶用法:多机、多用户、自动跳板机
多机配置:
可以配置多台服务器:
Host dev
HostName 10.0.0.10
User ubuntu
IdentityFile ~/.ssh/dev.pem
Host test
HostName test.server.com
User ec2-user
Port 2200
IdentityFile ~/.ssh/test_key.pem
然后直接:
ssh dev ssh test
一条命令连接不同环境,非常清晰。
多用户连接同一 IP
有时候你需要以不同身份登录同一台服务器:
Host dev-admin
HostName 192.168.1.105
User admin
IdentityFile ~/.ssh/admin_key
Host dev-readonly
HostName 192.168.1.105
User readonly
IdentityFile ~/.ssh/readonly_key
一样是一个 Host 一个身份,互不干扰。
配置跳板机
如果你需要通过一台跳板机(堡垒机)连接目标服务器:
Host jump
HostName jump.example.com
User jumpuser
IdentityFile ~/.ssh/jump_key
Host db
HostName 10.0.1.20
User root
IdentityFile ~/.ssh/db_key
ProxyJump jump
这样你就可以直接 ssh db,SSH 会自动先连跳板,再跳过去。安全又方便。
在日常开发、运维、部署、远程协作中,SSH 是无法回避的工具。但用得好不好,效率差距很大。不妨花十分钟,把你常用的服务器都写进 .ssh/config,从此再也不用满屏复制 IP、找 pem 文件、翻文档找端口号——一个命令直达目标服务器。
上一篇:中转节点定义及对网络连接质量的影响分析
下一篇:原生IP和虚拟IP之间有什么关联?