ssh端口不是22,要怎么连?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh端口不是22,要怎么连?相关的知识,希望对你有一定的参考价值。

我之前的服务器,ssh默认端口22,都直接ssh root@ip连接的,现在换了个服务器,默认端口是22000了,ssh root@ip连不上了,这个要怎么连

通过-p参数可以指定端口号

# ssh -p 22000 root@ip

参考技术A 您好,对于你的遇到的问题,我很高兴能为你提供帮助,我之前也遇到过哟,以下是我的个人看法,希望能帮助到你,若有错误,还望见谅!。/etc/ssh/sshd_config
里面有个port=22,
把这条注销掉,换成其他数字,
重启sshd服务。非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!

ssh隧道代理连接

0x00 什么是SSH隧道

 

场景:

假设有两台主机: A主机为外网,B主机为内网
通常来说外网主机A是无法直接连接到内网主机B的,这时如果要实现A主机通过ssh控制B主机,通常来说有两种方法:

1.端口映射:

B主机的ssh端口映射到B的外网ip,当然这要通过设置防火墙来实现

2.ssh的反向连接:

B主机通过ssh连接A主机,并在A主机上打开一个端口进行监听。这时如果A主机连接本机的这个端口就可以实现控制B主机

 

 0x01 建立本地SSH隧道

 

在我们计划建立一个本地SSH隧道之前,我们必须清楚下面这些数据:

中间服务器dIP地址

要访问服务器cIP地址

要访问服务器c的端口

现在,我们把上面这张图变得具体一些,给这些机器加上IP地址。并且根据下面这张图列出我们的计划:

 

技术图片

 

 

需要访问234.234.234.234FTP服务,也就是端口21

中间服务器是123.123.123.123

现在我们使用下面这条命令来达成我们的目的

 

ssh -N -f -L 2121:234.234.234.234:21 123.123.123.123ftp localhost:2121 # 现在访问本地2121端口,就能连接234.234.234.23421端口了

 

这里我们用到了SSH客户端的三个参数,下面我们一一做出解释:

  • -N 告诉SSH客户端,这个连接不需要执行任何命令。仅仅做端口转发
  • -f 告诉SSH客户端在后台运行
  • -L 做本地映射端口,被冒号分割的三个部分含义分别是最后一个参数是我们用来建立隧道的中间机器的IP地址(IP: 123.123.123.123)
    • 需要使用的本地端口号
    • 需要访问的目标机器IP地址(IP: 234.234.234.234
    • 需要访问的目标机器端口(端口: 21)

 

我们再重复一下-L参数的行为。-L X:Y:Z的含义是,将IPY的机器的Z端口通过中间服务器映射到本地机器的X端口。

在这条命令成功执行之后,我们已经具有绕过公司防火墙的能力,并且成功访问到了我们喜欢的一个FTP服务器了。

 

 

0x02建立远程SSH隧道

过建立本地SSH隧道,我们成功地绕过防火墙开始下载FTP上的资源了。那么当我们在家里的时候想要察看下载进度怎么办呢?大多数公司的网络是通过路由器 接入互联网的,公司内部的机器不会直接与互联网连接,也就是不能通过互联网直接访问。通过线路D-B-A访问公司里的机器a便是不可能的。也许你已经注意 到了,虽然D-B-A这个方向的连接不通,但是A-B-D这个方向的连接是没有问题的。那么,我们能否利用一条已经连接好的A-B-D方向的连接来完成 D-B-A方向的访问呢?答案是肯定的,这就是远程SSH隧道的用途。

与本地SSH一样,我们在建立远程SSH隧道之前要清楚下面几个参数:

  • 需要访问内部机器的远程机器的IP地址(这里是123.123.123.123)
  • 需要让远程机器能访问的内部机器的IP地址(这里因为是想把本机映射出去,因此IP是127.0.0.1)
  • 需要让远程机器能访问的内部机器的端口号(端口:22)

在清楚了上面的参数后,我们使用下面的命令来建立一个远程SSH隧道,在192.168.0.100的主机上执行下面的命令:

ssh -Nf -R 2222:127.0.0.1:22 123.123.123.123

 

现在,在IP是123.123.123.123的机器上我们用下面的命令就可以登陆公司的IP是192.168.0.100的机器了。

ssh -p 2222 localhost

 

-N,-f 这两个参数我们已经在本地SSH隧道中介绍过了。我们现在重点说说参数-R。该参数的三个部分的含义分别是:

  • 远程机器使用的端口(2222)
  • 需要映射的内部机器的IP地址(127.0.0.1)
  • 需要映射的内部机器的端口(22)

例如:-R X:Y:Z 就是把我们内部的Y机器的Z端口映射到远程机器的X端口上。

 

0x03通过SSH隧道建立SOCKS服务器

如果我们需要借助一台中间服务器访问很多资源,一个个映射显然不是高明的办法(事实上,高明确实没有用这个方法)。幸好,SSH客户端为我们提供了通过SSH隧道建立SOCKS服务器的功能。

通过下面的命令我们可以建立一个通过123.123.123.123SOCKS服务器。

ssh -N -f -D 1080 123.123.123 # 将端口绑定在127.0.0.1ssh -N -f -D 0.0.0.0:1080 123.123.123.123 # 将端口绑定在0.0.0.0

 

通过SSH建立的SOCKS服务器使用的是SOCKS5协议,在为应用程序设置SOCKS代理的时候要特别注意。

 

 

 

以上是关于ssh端口不是22,要怎么连?的主要内容,如果未能解决你的问题,请参考以下文章

如何查看linux中的ssh端口开启状态

怎么修改linux的ssh终端远程22端口的方法

linux22端口访问不了

ubuntu怎么查看ssh端口

如何查看linux中的ssh端口开启状态

ssh:连接到主机 gitlab.com 端口 22:网络不可达