SSH 连接与配置速查表

把 SSH 登录、密钥管理、配置文件、端口转发和代理跳板按组整理成一页,免密登录和开隧道时直接对照。

系统与运维·共 21 条命令·最后更新 2026-07-03
返回 系统与运维

连接与认证 5

ssh user@host
默认 22 端口登录,user 省略时用当前用户名
ssh -p 2222 user@host
指定端口,服务器改了端口时用
ssh -i ~/.ssh/id_ed25519 user@host
指定私钥登录,多密钥时常用
ssh -vvv user@host
打印详细调试信息,认证失败时排查用
ssh -o ConnectTimeout=5 user@host
设置连接超时,防止卡死

密钥管理 5

ssh-keygen -t ed25519 -C "tom@example.com"
生成 ed25519 密钥,比 RSA 更短更快
ssh-keygen -t rsa -b 4096 -C "tom@example.com"
生成 RSA 4096 位密钥,兼容老服务器
ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
把公钥推到服务器,实现免密登录
ssh-keygen -lf ~/.ssh/id_ed25519.pub
查看密钥指纹和长度,核对服务器 host key 用
eval $(ssh-agent) && ssh-add ~/.ssh/id_ed25519
启动 agent 并加载私钥,避免重复输密码

配置文件 ~/.ssh/config 6

Host prod
定义主机别名,后续 ssh prod 直接连,省去记长命令
HostName 1.2.3.4
实际连接的 IP 或域名
User deploy
默认登录用户,省去每次 user@host
IdentityFile ~/.ssh/id_ed25519
指定该主机使用的私钥
ProxyJump bastion
通过跳板机连目标机,替代 ssh -t ssh -t 多层跳转
LocalForward 8080 127.0.0.1:80
登录时自动建立本地端口转发

端口转发与代理 5

ssh -L 8080:127.0.0.1:80 user@host
本地端口转发,访问本地 8080 等于访问远端 80
ssh -R 9090:127.0.0.1:80 user@host
远程端口转发,把本地服务暴露到远端
ssh -D 1080 user@host
动态 SOCKS5 代理,所有流量走远端
ssh -N -L 8080:127.0.0.1:80 user@host
只转发不执行命令,开后台隧道用
ssh -J bastion user@internal
通过跳板机直连内网机器,等价于 ProxyJump

💡 提示

  • 免密登录用 ssh-copy-id 推公钥,手动拼 authorized_keys 容易踩权限和格式坑。
  • ~/.ssh 目录权限要 700,私钥要 600,权限太松 ssh 会拒绝使用。
  • 端口转发加 -N -f 可放到后台跑,但记得用 ssh -O exit 或 kill 关掉,避免遗留进程。