当前位置:首页>Linux>告别重复输密码、绕跳板!Linux SSH高级用法,效率直接拉满

告别重复输密码、绕跳板!Linux SSH高级用法,效率直接拉满

  • 2026-10-01 22:26:24
告别重复输密码、绕跳板!Linux SSH高级用法,效率直接拉满

作为运维工程师的你,是否每天连服务器进行这样操作:ssh -p 2222 user@192.168.2.105输密码、输密码、再输密码;内网机器要先登跳板,再登目标,来回切窗口;想本地连远程数据库、内网服务,折腾半天不通?

ssh远不止 “远程登录” 这么简单。今天介绍ssh高级用法:配置文件一键登录、免密安全登录、三种端口转发、跳板机直连、安全加固。

一、ssh基础操作:密钥登录,彻底告别密码
密码登录不仅麻烦,还容易被破解。密钥登录是标配,也是所有高级用法的基础。
1. 生成密钥对(本地执行)
ssh-keygen -t ed25519 -C "ceshi2026@qq.com"
一路回车,默认保存到~/.ssh/,无需设置密码。
2. 公钥上传到服务器
ssh-copy-id -p 端口 user@主机IPssh-copy-id -p 22 root@192.168.2.105
或手动复制~/.ssh/id_ed25519.pub 内容到服务器~/.ssh/authorized_keys。
3. 权限设置
chmod 700 ~/.ssh
二、效率神器:~/.ssh/config 一键连服务器
多台服务器切换,写config是最香的方案。以后只需要:
ssh 别名

配置示例(本地~/.ssh/config)

 touch ~/.ssh/config chmod 700 ~/.ssh/config mkdir -p ~/.ssh/sock chmod 700 ~/.ssh/sock
#全局通用配置,所有服务器统一生效Host *  Compression yes  ServerAliveInterval 60  ServerAliveCountMax 3  IdentityFile ~/.ssh/id_ed25519  ControlMaster auto  ControlPath ~/.ssh/sock/%h_%p_%r.sock  ControlPersist 4h#业务机app01-prod  Host app01  HostName 192.168.2.105  User root  Port 22  #生产app02  Host app02  HostName 192.168.2.104  User root  Port 22
#全局默认Host *  Compression yes  ServerAliveInterval 60  ServerAliveCountMax 3  IdentityFile ~/.ssh/id_ed25519  ControlMaster auto  ControlPath ~/.ssh/sock/%h_%p_%r.sock  ControlPersist 4h#跳板机Host jump  HostName 192.168.2.104  User root  Port 22  IdentityFile ~/.ssh/id_ed25519#内网机器(通过跳板)Host app  HostName 192.168.2.xx  User ubuntu  ProxyJump jump
配置好后
ssh jump  #首次会保存hostssh app   #再直连内网机器,自动过跳板
  • Host:连接别名
  • HostName:ip或域名
  • User:用户名
  • Port:端口
  • IdentityFile:私钥路径
  • ProxyJump:跳板机(openssh 7.3+)
  • ForwardAgent:代理转发
配置完,直接:
ssh app
自动走跳板、自动用密钥、不用输任何信息。
三、网络穿透:三种端口转发,打通内外网
ssh隧道是开发和运维的 “隐形桥梁”,本地访问远程服务、内网穿透、临时代理都靠它。

1. 本地转发(-L):本地端口 → 远程服务

场景:本地访问远程mysql/redis/ 内网网页

ssh -L 3307:127.0.0.1:3306 user@远程IP
本地访问localhost:3307 相当于访问远程3306。
2. 远程转发(-R):远程端口 → 本地服务
场景:把本地服务暴露给外网或内网访问
ssh -R 8080:127.0.0.1:80 user@公网服务器
公网服务器访问8080=访问本地80。

3. 动态转发(-D):一键 SOCKS5 代理

场景:走服务器访问内网资源

ssh -D 1080 user@远程IP
四、跳板机简单方案:proxyjump一步到位
旧方式:先登跳板,再登内网。高级方式:ProxyJump 一次直达
命令行写法
ssh -J jump-user@跳板IP:端口 内网用户@内网IP
config的写法
Host inner  HostName 192.168.1.200  User appuser  ProxyJump jump
这样就可以直接ssh inner,无感穿透。部分旧系统不支持proxyjump。
五、安全加固:生产环境必做配置
如果服务器暴露在公网中,建议加固,防止被扫、被爆破。

修改 sshd_config 前,务必保留一个已登录的 SSH 会话用于回滚,防止配置错误导致无法登录。
1. 禁用密码登录(只允许密钥)
编辑 /etc/ssh/sshd_config
PasswordAuthentication noChallengeResponseAuthentication noPubkeyAuthentication yes
2. 修改默认端口
port 2222
3. 限制 root 直接登录
PermitRootLogin no
4. 启用空闲断开
ClientAliveInterval 300ClientAliveCountMax 2
5.重启服务
systemctl restart sshd

六、总结

  • 密钥登录:安全+免密
  • config配置:一键连接
  • 端口转发:打通网络
  • proxyJump:无痛跳板
  • 安全加固:守住入口

把这些配置存好,以后连服务器、调网络、做穿透,全都行云流水。如果你觉得文章对你运维工作有帮助,记得点赞加关注。

#运维#linux运维#linux实战#ssh

最新文章

随机文章