场景
生产机在内网,只能先登录跳板机(堡垒机),再二次跳转。把两段 ssh 写进 ~/.ssh/config,可减少重复输入与错误。
推荐写法(OpenSSH 7.3+)
Host bastion HostName bastion.example.com User ops IdentityFile ~/.ssh/id_ed25519 Host prod-web-1 HostName 10.0.0.21 User deploy ProxyJump bastion IdentityFile ~/.ssh/id_ed25519_prod
之后只需:ssh prod-web-1。
老环境用 ProxyCommand
ProxyCommand ssh -W %h:%p bastion
密钥与转发
尽量为跳板与生产使用不同密钥;AgentForwarding 能省事,但在不信任的跳板上有风险,生产建议按需开启。
排障
ssh -vvv prod-web-1 ssh bastion 'echo ok' nc -vz 10.0.0.21 22
先验证跳板,再验证跳板到目标的 22 端口;权限问题检查 ~/.ssh 目录 700、私钥 600。