设置pycharm>跳板机>服务器的远程开发环境

方法1

1. 配置本地和跳板机的免密登录

2. 本地配置

  • vim ~/.ssh/config
Host *
    ControlPersist yes
    ControlMaster auto
    ControlPath ~/.ssh/%n:%p
  • 完成配置后在本地登录一次跳板机

3. 登录跳板机,在跳板机上继续做如上配置

  • 完成配置后,在跳板机上ssh登录一次内网服务器

4. 设置ssh隧道

  • 在本地命令行输入如下命令即可:
ssh -N -f -L 6000:内网服务器ip:22 -p 跳板机端口 username@跳板机ip -o TCPKeepAlive=yes
  • N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
  • f 告诉SSH客户端在后台运行
  • L 做本地映射端口

5. 登录

  • ssh -p 6000 user_name@localhost,就实现了本地直接连接到内网服务器上,可以进行Pycharm的配置了

6. 使用 corn 定时维护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
  1. 使用cron服务定时执行脚本建立ssh 隧道。在命令行中执行如下语句:(注意修改脚本位置, 路径不可用缩写)
 echo "0-59   *   *   *   *   sh /path/to/auto_connect.sh" > ~/.crontab
crontab ~/.crontab

方法2 linux

1. 本地-跳板机, 跳板机-目标机设置免密登录

2. 本地~.ssh/config更改配置

```
Host jump
HostName 跳板机ip
User 分配的用户名
ServerAliveInterval 30

# 这里目标机都是172.16开头
Host 172.16.*.* , 10.*.*.*  
ProxyCommand ssh -o 'ForwardAgent yes' jump 'ssh-add && nc %h %p'
```

这样本地直接 ssh username@目标机ip 即可登录

方法3 windows

1. xshell登录跳板机

设置pycharm>跳板机>服务器的远程开发环境_第1张图片

2. 登录成功之后配置隧道

设置pycharm>跳板机>服务器的远程开发环境_第2张图片设置pycharm>跳板机>服务器的远程开发环境_第3张图片
设置pycharm>跳板机>服务器的远程开发环境_第4张图片

3. 隧道建立好登录目标机

设置pycharm>跳板机>服务器的远程开发环境_第5张图片

你可能感兴趣的:(linux,ssh)