CentOS 端口 转发

目的:
客户端 -> 中转机 (如阿里云上的机器)-> 目标机器 (如家里的机器)

准备工作

  1. 目标机器,安装 autossh
    $ yum install autossh
  2. 开启 中转机端口(略)

中转机

$ ssh -fCNL *:(port A):localhost:(port B)localhost
实现 :port A => port B

目标机

$ ssh -fCNR (port B):localhost:(port C) root@(中转机IP)
实现 :中转机port B => 目标机 port C

测试 ssh

$ ssh -p (port A) root@(中转机IP)
实现 : => 中转机 Port A => 中转机Port B => 目标机 Port C

开启 ssh ping

$ vi ~/.ssh/config
加入ServerAliveInterval 60
$ service sshd restart

ssh 不稳定,改成 autossh

目标机

  1. $ ps -ef | grep ssh // 查看 之前的 转发命令
  2. kill 掉之前的转发进程
  3. ssh-keygen,回车,回车,回车 (已有,可跳过)
  4. ssh-copy-id root@中转机IP, 输入密码,成功后退出
  5. autossh -M 6677 -fCNR (port B):localhost:(port C) root@(中转机IP)

开机启动

不会脚本, 使用python.
/autostart/ssh_transmit.py:

# -*- coding:utf-8 -*-
import os
cmd = [
    "autossh -M 6677 -fCNR xxxx:localhost:xxxxxx"
]

for c in cmd:
    os.system(c)

/etc/rc.d/rc.local
加入 : python /autostart/ssh_transmit.py

为了万无一失,可以配合

http://www.jianshu.com/p/c23843393c17

其它

如果 中间遇到问题,用下面命令 查找,杀掉进程,重试
ps -ef | grep ssh
kill xxx
kill -9 xxx

参考: http://www.jianshu.com/p/057e3266f380

你可能感兴趣的:(CentOS 端口 转发)