篇一 :关于ssh端口转发的深入实例

关于ssh端口转发的深入实例

作者: geminis 发表日期: 2006-07-04 02:54 复制链接

ssh的三个强大的端口转发命令:

ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host

ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host

ssh -C -f -N -g -D listen_port user@Tunnel_Host

-f Fork into background after authentication.

后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-p port Connect to this port. Server must be on the same port.

被登录的ssd服务器的sshd服务端口。

-L port:host:hostport

将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-R port:host:hostport

将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

…… …… 余下全文

篇二 :linux端口映射 ssh命令

linux端口映射 ssh命令

博客分类:

?

在开发过程中,因为网络环境的原因,需要通过某一台服务器访问其他服务器的一些端口,这里就涉及到端口映射的问题。

当前自己现状及需求

1.本地机器window系统,有CRT工具

2.本地通过CRT可以通过Internet访问到内网中的机器172.18.1.34

3.但是本地通过CRT访问不到内网中的机器172.18.1.144

需求是想在本地访问172.18.1.144上web应用对应端口是80

解决过程:

1.通过CRT登陆到172.18.1.34 机器上执行:ssh -C -f -N -g -L 8080:127.0.0.1:80 172.18.1.144

目的 把144的80端口映射到 34的8080上

2.在本地的CRT上做端口转发,把34上的8080端口映射到本地的8080上

端口转发概述

让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:

1. 加密 SSH Client 端至 SSH Server 端之间的通讯数据。

2. 突破防火墙的限制完成一些之前无法建立的 TCP 连接。

…… …… 余下全文

篇三 :linux 服务器禁止root用户的远程直接登录,并且系应该ssh的默认端口

linux 服务器禁止root用户的远程直接登录并修改ssh的

默认端口

1.创建用户任意比如oracle。

2.root下设置密码。

3.打开修改/etc/ssh/sshd_config文件配置文件

###########################################################################

LoginGraceTime 120

PermitRootLogin no

AllowUsers root.adminssh

#StrictModes yes

将PermitRootLogin项改为no,即禁止ROOT直接登陆,相反改为yes,则可以ROOT用户直接登陆

系统中新建一用户,如何允许其SSH登陆

同样修改/etc/sshs/shd_config文件配置文件

将用户名称添加到文件中,加入新建一用户oracle

###########################################################################

AllowUsers wangluo

次句加在任意位置,但是保证前面没有#注释掉。

4.找到port一项,将本行前面的#号去掉,将22改成 某一非有名端口号。 退出保存。

5.etc/init.d/sshd restart 重启sshd

oracle用户即可直接SSH连接登陆,但是如果已经在root上登录了不会断掉。

…… …… 余下全文

篇四 :linux修改SSH端口号

第一种:

1假如要改SSH的默认端口(22),那么你只要修改:vi

/etc/ssh/sshd_config中Port 22,这里把22改成自己要设的端口就行了,不过千万别设和现已有的端口相同哦,以防造成未知后果。

2假如要限制SSH登陆的IP,那么可以如下做:

先:修改/etc/hosts.deny,在其中加入sshd:ALL

然后:修改:/etc/hosts.allow,在其中进行如下设置:

sshd:192.168.0.168

这样就可以限制只有192.168.0.168的IP通过SSH登陆上LINUX机器了。当然在做为服务器方面,我都不装gnome和KDE的,而且很多东东都不装,这样增加安全系数。

第二种:

首先修改配置文件

vi /etc/ssh/sshd_config

找到#Port 22一段,这里是标识默认使用22端口,修改为如下:

Port 22

Port 88888

然后保存退出

执行/etc/init.d/sshd restart

这样SSH端口将同时工作与22和88888上。

现在编辑防火墙配置:vi /etc/sysconfig/iptables

启用88888端口。

执行/etc/init.d/iptables restart

现在请使用ssh工具连接88888端口,来测试是否成功。如果连接成功了,则再次编辑sshd_config的设置,将里边的Port22删除,即可。

生产机器禁止ROOT远程SSH登录:

#vi /etc/ssh/sshd_config

PermitRootLogin yes

改为

PermitRootLogin no

重启sshd服务

#service sshd restart

之所以先设置成两个端口,测试成功后再关闭一个端口,是为了方式在修改conf的过程中,万一出现掉线、断网、误操作等未知情况时候,还能通过另外一个端口连接上去调试以免发生连接不上必须派人去机房,导致问题更加复杂麻烦。

…… …… 余下全文

篇五 :SSH端口转发详解实验

1.原理

让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:

1、加密 SSH Client 端至 SSH Server 端之间的通讯数据。

2、突破防火墙的限制完成一些之前无法建立的 TCP 连接。


http://fmn.xnimg.cn/fmn044/20100901/1125/b_large_Kj8i_39c500002d8b2d12.jpg
如上图所示,使用了端口转发之后,TCP 端口 A 与 B 之间现在并不直接通讯,而是转发到了 SSH 客户端及服务端来通讯,从而自动实现了数据加密并同时绕过了防火墙的限制。

2.本地转发

把远程机器的端口号,转发到本地,本地主机多一个监听端口!

ssh -L <local port>:<remote host>:<remote port> <SSH hostname>

ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host

-f Fork into background after authentication.

后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-p port Connect to this port. Server must be on the same port.
被登录的ssd服务器的sshd服务端口。

-C Enable compression.
压缩数据传输。

-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。

-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。

…… …… 余下全文

篇六 :常用默认端口号

常用默认端口号

网络层---数据包的包格式里面有个很重要的字段叫做协议号。比如在传输层如果是TCP连接,那么在网络层IP包里面的协议号就将会有个值是6,如果是UDP的话那个值就是17---传输层。 传输层---通过接口关联(端口的字段叫做端口)---应用层。

用netstat –an 可以查看本机开放的端口号。

代理服务器常用以下端口:

(1). HTTP协议代理服务器常用端口号:80/8080/3128/8081/9080

(2). SOCKS代理协议服务器常用端口号:1080

(3). FTP(文件传输)协议代理服务器常用端口号:21

(4). Telnet(远程登录)协议代理服务器常用端口:23

HTTP服务器,默认的端口号为80/tcp(木马Executor开放此端口);

HTTPS(securely transferring web pages)服务器,默认的端口号为443/tcp 443/udp;

Telnet(不安全的文本传送),默认端口号为23/tcp(木马Tiny Telnet Server所开放的端口); FTP,默认的端口号为21/tcp(木马Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所开放的端口);

TFTP(Trivial File Transfer Protocol ),默认的端口号为69/udp;

SSH(安全登录)、SCP(文件传输)、端口重定向,默认的端口号为22/tcp;

SMTP Simple Mail Transfer Protocol (E-mail),默认的端口号为25/tcp(木马Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都开放这个端口); POP3 Post Office Protocol (E-mail) ,默认的端口号为110/tcp;

…… …… 余下全文

篇七 :实战 SSH 端口转发

2009 年 10 月 31 日

通过本文的介绍,读者可以从中了解到如何应用 SSH 端口转发机制来解决日常工作 / 生活中的一些问题。学会在非安全环境下使用端口转发来加密网络应用,保护个人隐私以及重要商业信息。同时也能够用此技术解决工作中一些常见问题,例如解决防火墙及网络应用本身带来的一些限制。

第一部分 概述

当你在咖啡馆享受免费 WiFi 的时候,有没有想到可能有人正在窃取你的密码及隐私信息?当你发现实验室的防火墙阻止了你的网络应用端口,是不是有苦难言?来看看 SSH 的端口转发功能能给我们带来什么好处吧!

端口转发概述

让我们先来了解一下端口转发的概念吧。我们知道,SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发。它能够将其他 TCP 端口的网络数据通过 SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程有时也被叫做“隧道”(tunneling),这是因为 SSH 为其他 TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些 TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果您工作环境中的防火墙限制了一些网络端口的使用,但是允许 SSH 的连接,那么也是能够通过将 TCP 端口转发来使用 SSH 进行通讯。总的来说 SSH 端口转发能够提供两大功能:

1. 加密 SSH Client 端至 SSH Server 端之间的通讯数据。

2. 突破防火墙的限制完成一些之前无法建立的 TCP 连接。

图 1. SSH 端口转发

实战SSH端口转发

如上图所示,使用了端口转发之后,TCP 端口 A 与 B 之间现在并不直接通讯,而是转发到了 SSH 客户端及服务端来通讯,从而自动实现了数据加密并同时绕过了防火墙的限制。

…… …… 余下全文

篇八 :SSH通道实例

SSH通道实例

(port forwarding, dynamic-port forwarding, X11 forwarding )

SSH通道提供了强大的转发功能,比如端口转发,动态端口转发,X11转发等。

端口转发包含client to server(C2S)和Server to client(S2C)两种(这里的server指安装了SSH server的机器,client指安装了SSH客户端的机器)。 端口转发的命令在Client的机器上执行,C2S的命令格式如下:

ssh -L localport:host:hostport user@ssh_server

Client的localport的所有连接都被加密传输到ssh server,然后转发到host的hostport 进程。

S2C的命令格式如下:

ssh -R localport:host:hostport user@ssh_server

ssh server的localport的所有连接都被加密传输到client,然后转发到host的hostport 进程。

例一:

两个局域网之间安全传输数据。假设有两个局域网A和B

A:192.168.0.0 255.255.255.0/普通用户局域网Client1,Client2,...

B:192.168.1.0 255.255.255.0/服务器局域网Server1,Server2,...

A网和B网需要在广域网中安全的传输数据。那么可以采用采用如下的方案: 在A网和B网中各选择一台机器,分别叫做ClientX,ServerX(需要有外网IP,可以被ClientX访问),在ClientX上安装SSH client, 在ServerX上安装SSH server. 在ClientX上设置一个SSH的C2S端口转发,所有的Client的访问都通过ClientX建立的通道。

…… …… 余下全文