场景

生产机在内网,只能先登录跳板机(堡垒机),再二次跳转。把两段 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。