PyCharm通过ProxyJump连接SSH服务器失败求助
解决PyCharm SSH远程连接失败问题
针对你遇到的命令行可正常连接但PyCharm报错net.schmizz.sshj.transport.TransportException: Server closed connection during identification exchange的问题,可按以下步骤排查解决:
1. 修正.ssh/config的语法错误
你的配置文件中Hostname字段带了多余引号,SSH标准配置无需给主机名加引号——命令行的SSH客户端会忽略这个问题,但PyCharm使用的sshj库对语法更严格,会导致解析失败。修改后的配置如下:
Host merkur Hostname server User zahra Port 22 IdentityFile ~/.ssh/merkurKey Host t400-208n5 Hostname server User zahra IdentityFile ~/.ssh/merkurKey ProxyJump merkur
2. 验证PyCharm对SSH配置的加载
打开PyCharm的Settings/Preferences → Tools → SSH Configurations,确认:
- 已勾选
Load SSH configuration file选项,确保PyCharm读取到本地.ssh/config - 列表中能看到
merkur和t400-208n5两个主机条目
3. 分步测试连接
- 先单独测试连接跳板机
merkur:在SSH Configurations中选中merkur,点击Test Connection,确认能正常连接 - 跳板机连接成功后,再测试连接
t400-208n5,排查代理跳转环节的问题
4. 检查密钥文件权限
确保本地密钥文件~/.ssh/merkurKey的权限为600(仅当前用户可读可写),执行以下命令修正:
chmod 600 ~/.ssh/merkurKey
PyCharm的SSH客户端对密钥文件权限要求严格,权限过宽会拒绝使用该密钥。
5. 切换到系统原生SSH客户端
若上述步骤无效,尝试让PyCharm调用系统的SSH命令(和你命令行使用的一致):
- 打开
Settings/Preferences→Tools→SSH Configurations - 点击右上角齿轮图标,选择
SSH executable - 切换为
Native选项,保存后重新测试连接
内容的提问来源于stack exchange,提问作者Peyman
相关产品推荐
相关产品推荐

