记录pycharm如何通过跳板服务器连接集群节点

方式一(已成功):

步骤一 配置免密登录

本地配置:C:/Users/l/.ssh/config(没有config自己创建)
Host *
    ControlPersist yes
    ControlMaster auto
    ControlPath ~/.ssh/%n:%p

完成配置后在本地登录一次跳板机.

跳板机服务器配置:~/.ssh/config
Host *
    ControlPersist yes
    ControlMaster auto
    ControlPath ~/.ssh/%n:%p

完成配置后在跳板机登录集群节点.

通过cat /etc/hosts可以查看集群结点的地址信息。

步骤二 设置ssh隧道

在本地命令行输入如下命令即可:

ssh -N -f -L 6000:<内网服务器ip>:22 -p <跳板机端口> username@<跳板机ip> -o TCPKeepAlive=yes

上述命令各个参数的含义如下:
-N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
-f 告诉SSH客户端在后台运行
-L 做本地映射端口
关于SSH建立管道参考

此时,登录本地的6000端口就相当于登录内网服务器了

 

ssh -p 6000 服务器用户名@localhost

 

步骤三

配置pycharm
这里只需配置ip为127.0.0.1, 端口为6000,并输入内网服务器的账号密码即可看到服务器安装的python.
具体配置方式参考

 

步骤四(可选)使用corn 定时维护ssh 隧道

SSH 隧道可能因为网络不稳定而断开,每次断开之后都需要手动再次建立SSH 隧道。下面介绍一种解决方案,通过cron定期执行脚本来维护SSH隧道畅通:

  1. 编写脚本,通过判断socket文件是否存在来判断隧道连接是否已经断开
    在本地任意位置创建脚本auto_connect.sh并写入如下内容(注意更换<>中内容
#/usr/bin/env sh
if [[ ! -a "~/.ssh/<跳板机ip>:<跳板机端口>" ]]; then
    echo "connecting <跳板机ip>:<跳板机端口> .."
    ssh -N -f -L 6000:<内网服务器ip>:22 -p <跳板机端口> username@<跳板机ip> -o TCPKeepAlive=yes
    if [[ $? -ne 0 ]]; then
        echo "failed to connect <跳板机ip>:<跳板机端口>" >&1
        exit 2
    fi
fi

2.使用cron服务定时执行脚本建立ssh 隧道。在命令行中执行如下语句:(注意修改脚本位置, 路径不可用缩写) 

echo "0-59   *   *   *   *   sh /path/to/auto_connect.sh" > ~/.crontab
crontab ~/.crontab

 方式二(未尝试):

pycharm 配置跳板机转发

  • 场景:由于本地电脑,需要通过跳板机连接远程服务器,因此导致pycharm无法debug,因此尝试通过跳板机配置pycharm环境
  • 步骤:
  1. 首先需要设置windows下的.ssh的config文件,在 “C:\Users\用户名\.ssh”下,找到config文件(如果没有,自己新建,不需要后缀名)
  2. 需要把你的.ssh下的ssh key,注册到远程服务器上面(这样后面就可以无需跳板机密码,直接通过跳板机),请参考:ssh详解,ssh密钥生成,服务器认证和登陆 - 知乎 (zhihu.com)
ssh-copy-id -i .ssh/id_ed25519.pub 跳板机用户名@跳板机地址 -p 端口号

3. 在config下面配置你的config的文件,如下

Host jump
HostName 地址1
User 用户名1
Port 22

Host my_target_server
HostName 地址2
User 用户名2
ProxyCommand ssh -W %h:%p jump

4. 在pycharm中,在add interpreter或者deploment里面:点一下红圈右边的小方块,会出现添加ssh远程客户端的界面

5. 然后会出来下面一个界面,在这个里面可以添加你的用户名和密码

  1. 1的位置,填写你的target server的名字(ssh config里面设置好的名字,比如我这里应该写my_target_server
    1. 最后test连接,成功就可以了
    2. 密码的位置可以写target server的密码
    3. 2的位置,写你target server的用户名3的位置写target server的端口号

通过两个跳板机电脑,远程连接到服务器

可以在window下设置.ssh, 配置你的config的文件,如下:

Host jump1
HostName 地址1
User 用户名1
Port 22(有设定的端口记得改端口,没有就默认22)

Host jump2
HostName 地址2
User 用户名2
ProxyCommand ssh -W %h:%p

Host my_target_server
HostName 地址3
User 用户名3
ProxyCommand ssh jump2 -W %h:%p

解释

这个就是先设置一个跳板机jump1, 然后设置一个跳板机jump2(其中jump2是通过jump1进行跳板的);最后设置my_target_sever,ssh通过jump2(ProxyCommand ssh jump2 -W %h:%p),来连接my_target_sever

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Pycharm可以通过SSH远程连接服务器。首先,你需要配置SSH连接信息。在Pycharm中,可以通过引用的方法来配置远程Python解释器。然后,在文件设置中,你可以通过引用的方法来设置编码方式和SSH配置。这样,你就可以成功地通过SSH连接远程服务器了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [pycharm通过ssh连接远程服务器教程](https://download.csdn.net/download/weixin_38672794/12855659)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Pycharm通过ssh远程连接服务器](https://blog.csdn.net/m0_45521766/article/details/126149339)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [pycharm ssh远程连接服务器 按这一步步走绝对连得上](https://blog.csdn.net/weixin_42253689/article/details/114767063)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

头秃10086

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值