我正在尝试在Azure上托管的Ubuntu框中更改22端口的SSH端口。根据这个答案How to change SSH ports in Microsoft Azure properly?,你可以改变公众'港口,同时保持私人' ssh port at 22.
然而,答案有点过时,因为据我所知,Azure上没有提及公共/私人端口。在网络安全组设置中,只有'源端口范围'和'目的地端口范围'。
使用默认设置
Source port range: *
Destination port range: 22
我可以通过shell登录确定即
ssh -i my_key me@azure_ip
当我将源端口范围更改为特定端口时,我想将其用作“公共”端口。 ssh端口
Source port range: new_ip
Destination port range: 22
然后尝试
ssh -i my_key me@azure_ip -p new_ip
然后连接只是超时而我无法连接。
然后我尝试更改服务器上sshd_config中的端口,将源端口范围保留为*,并将目标端口范围更改为新的ip,但获得了一个公共密钥'错误
有什么想法吗? (我很乐意改变公共端口和/或私人端口)
答案 0 :(得分:1)
目前,在ARM模块中,我们不能将NSG用于NAT一个端口到另一个端口。
作为解决方法,我们可以更改sshd_config端口设置,以下是步骤:
1. SSH到此VM,更改sshd_config
这样的设置,将端口22更改为端口33320:
root@jasonvm:~# vi /etc/ssh/sshd_config
# Package generated configuration file
# See the sshd_config(5) manpage for details
# What ports, IPs and protocols we listen for
Port 33320
2。重启ssh服务:
root@jasonvm:~# service ssh restart
root@jasonvm:~# netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:33320 0.0.0.0:* LISTEN
tcp 0 0 10.0.0.4:33188 52.240.48.24:443 TIME_WAIT
tcp 0 0 10.0.0.4:44470 168.63.129.16:80 TIME_WAIT
tcp 0 0 10.0.0.4:33320 114.224.98.58:58180 ESTABLISHED
tcp 0 0 10.0.0.4:33186 52.240.48.24:443 TIME_WAIT
tcp 0 0 10.0.0.4:22 114.224.98.58:58088 ESTABLISHED
tcp 0 0 10.0.0.4:33182 52.240.48.24:443 TIME_WAIT
tcp 0 0 10.0.0.4:44464 168.63.129.16:80 TIME_WAIT
tcp 0 0 10.0.0.4:33180 52.240.48.24:443 TIME_WAIT
tcp6 0 0 :::33320 :::* LISTEN
完成后,我们可以使用新的端口和公共IP地址来ssh这个VM:
ssh user@xxx.xxx.xxx.xxx 33320