SSH 连接与配置速查表
把 SSH 登录、密钥管理、配置文件、端口转发和代理跳板按组整理成一页,免密登录和开隧道时直接对照。
返回 系统与运维连接与认证 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 关掉,避免遗留进程。