使用 ssh -p 端口号 用户名@地址 格式连接非22端口;-p 必须紧邻端口号或后跟空格,未指定用户名时默认用本地用户名,但建议显式声明;连接失败常见原因是未加 -p 导致仍尝试22端口。

直接用 -p 参数加端口号,再配上用户名和地址就行。
基本写法:用户名@地址 + -p 端口
这是最常用、最清晰的格式:
- ssh -p 2222 admin@192.168.1.100 —— 用 admin 用户连 IP 地址,走 2222 端口
- ssh -p 12345 root@example.com —— 连域名,端口 12345,用 root 登录
注意:-p 必须紧挨着端口号,中间不能有空格(比如 ssh -p2222 可以,ssh -p 2222 也行,但 ssh -p 2222 中的空格是允许的;不过为避免歧义,推荐写成 -p2222 或 -p 2222 都可)。
不指定用户名时,默认用当前本地用户名
如果远程服务器上存在和你本地登录名相同的账户,可以省略用户名:
宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
- ssh -p 2222 192.168.1.100 —— 用你本机当前用户(比如 jack)去登录
但建议显式写出用户名,避免权限或账户不存在导致连接失败。
端口不是 22 时,-p 不可省略
SSH 默认只认 22 端口。一旦服务端改了端口(比如改成 2222、12345 或其他),客户端必须明确告诉 ssh:“别连 22,去连这个数”。否则会一直尝试 22,结果报错 Connection refused。
- 常见错误:
ssh admin@192.168.1.100(没加 -p)→ 连不上,因为服务根本不在 22 - 正确做法:
ssh -p 2222 admin@192.168.1.100
调试连接问题可加 -v 参数
如果连不上,加 -v(verbose)能看详细过程,帮你定位卡在哪一步:
- ssh -v -p 2222 admin@192.168.1.100
- 输出里会显示是否成功解析地址、是否发起 TCP 连接、密钥交换是否开始等










