端口转发之 SSH 转发

文章
林里克斯

端口转发有很多种实现方法,本文讲解一下自带 SSH 远程连接工具转发端口。

实验平台:CentOS 7.7.1908


1.ssh 参数详解

-1  #使用 ssh 协议版本 1;
-2  #使用 ssh 协议版本 2;
-4  #使用IPv4地址;
-6  #使用IPv6地址;
-A  #开启认证代理连接转发功能;
-a  #关闭认证代理连接转发功能;
-b  #使用本机指定地址作为对应连接的源ip地址;
-C  #请求压缩所有数据;
-F  #指定ssh指令的配置文件;
-f  #后台认证用户/密码,通常和 -N 连用,不用登录到远程主机;
-g  #允许远程主机连接主机的转发端口;
-i  #指定身份文件;
-l  #指定连接远程服务器登录用户名;
-N  #不执行远程指令;
-o  #指定配置选项;
-p  #指定远程服务器上的端口;
-q  #静默模式;
-X  #开启X11转发功能;
-x  #关闭X11转发功能;
-y  #开启信任X11转发功能;
-L  #本地机(客户机)的某个端口转发到远端指定机器的指定端口。工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口,一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接。可以在配置文件中指定端口的转发
-R  #远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口,一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接;
-D  #指定一个本地机器 动态的 应用程序端口转发.工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去,根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root才能转发特权端口. 可以在配置文件中指定动态端口的转发;
-C  #压缩数据传输;
-N  #不执行脚本或命令,通常与 -f 连用;不使用Shell窗口,纯做转发的时候用,如果你在映射完成后继续在服务器上输入命令
-E  #日志文件

2.具体使用

ssh -C -f -N -g -L 本地端口:目标IP:目标端口 用户名@目标IP
#转发到远端
ssh -C -f -N -g –R 本地端口:目标IP:目标端口 用户名@目标IP
#转发到本地
ssh -C -f -N -g -D listen_port user@Tunnel_Host
ssh -N -L 8080:localhost:80 远程主机

eg

(1). 将发往本机的 80 端口访问转发到 192.168.1.18080 端口

$ ssh -C -f -N -g -L 80:192.168.1.1:8080  user@192.168.1.1

(2). 将发往 192.168.1.18080 访问转发到本机的 80 端口

$ ssh -C -f -N -g -R 80:192.168.1.1:8080 user@192.168.1.1

3.openssh-server 软件的主要内容

$ rpm -ql openssh-server
/etc/rc.d/init.d/sshd      #ssh 服务启动脚本
/etc/ssh/sshd_config       #ssh 服务配置文件
/etc/sysconfig/sshd        #ssh 创建密钥有关
/usr/sbin/.sshd.hmac       #ssh 加密算法有关文件
/usr/sbin/sshd             #ssh 服务进程启动命令

4.openssh-clinets 软件的主要内容:

$ rpm -ql openssh-clients
/etc/ssh/ssh_config     #ssh客户端配置文件
/usr/bin/scp            #远程复制命令 
/usr/bin/sftp           #远程文件传输服务 
/usr/bin/slogin         #远程登陆命令
/usr/bin/ssh            #ssh 远程登陆 
/usr/bin/ssh-add        #把专用密钥添加到ssh-agent的高速缓存中
/usr/bin/ssh-agent      #ssh 代理
/usr/bin/ssh-copy-id    #将本机的公钥复制到远程机器的authorized_keys文件中,ssh-copy-id也能让你有到远程机器的home, ~./ssh , 和 ~/.ssh/authorized_keys的权利
/usr/bin/ssh-keyscan    #产生公钥与私钥对

Over~

版权协议须知!

本篇文章来源于 Uambiguous ,如本文章侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意

1286 0 2020-10-10


分享:
icon_mrgreen.gificon_neutral.gificon_twisted.gificon_arrow.gificon_eek.gificon_smile.gificon_confused.gificon_cool.gificon_evil.gificon_biggrin.gificon_idea.gificon_redface.gificon_razz.gificon_rolleyes.gificon_wink.gificon_cry.gificon_surprised.gificon_lol.gificon_mad.gificon_sad.gificon_exclaim.gificon_question.gif
博主卡片
林里克斯 博主大人
一个致力于Linux的运维平台
运维时间
搭建这个平台,只为分享及记载自己所遇之事和难题。

现在时间 2024-12-28

今日天气
站点统计
  • 文章总数:241篇
  • 分类总数:29个
  • 评论总数:12条
  • 本站总访问量 353621 次

@奥奥

@Wong arrhenius 牛比

@MakerFace 厉害了!