如何在Windows7的PyCharm2018.1中用Putty/OpenSSH配置SSH堡垒机连接?
刚好我之前帮朋友解决过类似的Win7+PyCharm堡垒机连接问题,结合你的场景,给你两种靠谱的方案:
方案一:PuTTY本地端口隧道 + PyCharm直接连接
这个方案适合你已经熟悉PuTTY操作的情况,核心是通过PuTTY把本地端口的流量转发到堡垒机,再跳转到目标服务器:
配置PuTTY的本地隧道
- 打开PuTTY,在左侧导航栏依次点击
Connection > SSH > Tunnels - 在
Source port输入一个本地未被占用的端口(比如2222,选个好记的就行) - 在
Destination输入最终要访问的目标服务器IP:22(比如192.168.1.100:22) - 勾选
Local和Auto选项,然后点击Add,此时上方的Forwarded ports列表会出现L2222 192.168.1.100:22 - 回到
Session页面,输入堡垒机的IP和SSH端口,给这个会话起个名字(比如Bastion-Tunnel)并保存,方便下次快速打开 - 点击
Open,登录堡垒机(输入账号密码),这个PuTTY窗口必须保持打开状态,隧道才会持续生效
- 打开PuTTY,在左侧导航栏依次点击
在PyCharm中配置连接本地隧道
- 打开PyCharm,进入
File > Settings > Build, Execution, Deployment > Deployment - 点击右上角的
+号,选择SFTP类型 - 在
Connection标签页填写:SFTP host:localhostPort:刚才设置的2222User name:目标服务器的登录账号(划重点!不是堡垒机的账号)Password:目标服务器的登录密码(如果用密钥的话,切换到SSH configuration选择对应的密钥文件即可)
- 点击
Test Connection,如果配置正确,就能成功连接到目标服务器了
- 打开PyCharm,进入
方案二:OpenSSH配置文件(更优雅,无需保持PuTTY窗口)
PyCharm 2017.3+确实支持读取OpenSSH的配置文件,Win7上需要先安装适配的OpenSSH版本,具体步骤如下:
安装OpenSSH for Windows(适配Win7版本)
- 注意:Win7自带的OpenSSH版本可能不全,需要下载支持Win7的旧版本(比如OpenSSH 0.0.18.0)
- 安装完成后,把
ssh.exe所在路径(比如C:\Program Files\OpenSSH\bin)添加到系统环境变量PATH中 - 验证:打开CMD,输入
ssh -V,能显示版本信息就说明安装成功
创建SSH配置文件
- 在你的用户目录下(比如
C:\Users\你的用户名)新建.ssh文件夹 - 在
.ssh文件夹里创建一个名为config的文件(没有后缀名),写入以下内容:# 堡垒机配置,起个别名方便调用 Host bastion HostName 堡垒机的IP或域名 User 堡垒机的登录账号 Port 堡垒机的SSH端口(默认22) # 如果堡垒机用密码登录,加上这行;用密钥的话换成IdentityFile指定密钥路径 PreferredAuthentications password # 目标服务器配置,通过堡垒机代理连接 Host target-server HostName 目标服务器的IP或域名 User 目标服务器的登录账号 Port 22 ProxyCommand ssh -W %h:%p bastion
- 在你的用户目录下(比如
测试SSH配置是否生效
- 打开CMD,输入
ssh target-server,按照提示依次输入堡垒机和目标服务器的密码(如果配置了密钥则无需输入),能成功登录目标服务器就说明配置没问题
- 打开CMD,输入
在PyCharm中使用SSH配置文件
- 打开PyCharm,进入
File > Settings > Tools > SSH Configurations,确认Use system SSH config file已经勾选(默认是勾选的) - 再进入
File > Settings > Build, Execution, Deployment > Deployment,点击+号选择SFTP - 在
Connection标签页填写:SFTP host:target-server(就是你在config里给目标服务器起的别名)Port:22User name:可以留空(config里已经指定了),或者填目标服务器的账号
- 点击
Test Connection,PyCharm会自动读取SSH配置,通过堡垒机代理连接到目标服务器
- 打开PyCharm,进入
注意事项
- 方案一中,PuTTY窗口必须保持打开,关闭后隧道会立即断开
- 如果用密钥登录堡垒机或目标服务器,记得在PuTTY(方案一)或SSH配置文件(方案二)中指定密钥路径
- 确保PyCharm的SSH配置支持已经开启,就是刚才提到的
Use system SSH config file选项
内容的提问来源于stack exchange,提问作者Dr. Fabien Tarrade
相关产品推荐
相关产品推荐

