ssh客户端为什么不指定端口也可以登录成功 5C

比如我在某台机器使用如下命令可以登录成功:

ssh root@9.77.9.126

我知道远端服务器9.77.9.126的ssh服务监听的端口是36000,通过配置文件/etc/ssh/sshd_config可以查看:

#Port 22
Port 36000

问题:为什么我使用ssh命令登录时,不使用-p选项指明端口,也可以登录成功。ssh命令,即ssh客户端是如何知道远端服务器监听的端口是36000的?

3个回答

你修改完配置文件 重启ssh了吗 你可以netstat -pan|grep port 看一下 你要指定的端口是否被打开。如果没有执行
systemctl restart sshd.service命令。再试试

lyw13522476337
jinwoyunni 回复Dablelv:你修改了配置文件,但是并没有生效,实际上还是默认端口22,你在用ssh登录 当然不需要指定端口了,走的还是默认端口22
一年多之前 回复
K346K346
恋上猫的大鲤鱼 我想问的是ssh客户端是怎么知道服务端监听的是哪个端口,不实用-p选项指定的话
一年多之前 回复

ssh 客户端不可能知道服务器端监听的端口。
直接ssh root@9.77.9.126 就是走tcp 22端口,代码里写死了。
你能直接ssh 登陆,说明服务器目前生效的就是22这个端口。你看到的/etc/ssh/sshd_config 里面配置的是36000说明必然是没有配置生效。
你可以sudo netstat -anp|grep sshd 看一下当前肯定是在22端口上listen的,而不是3600,要想3600生效,sshd进程必须至少要重启一下

因为linux 服务的配置修改后需要重启服务才生效

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐