将ssh端口22更改为azure资源组vm中的自定义端口

时间:2016-03-03 19:03:11

标签: azure azure-virtual-machine

我可以知道如何将ssh端口22更改为azure资源组vm中的自定义端口吗?我知道我可以在vm classic上轻松更改端点。但是如何在新门户上的资源组vm上将ssh 22更改为ssh的其他端口号?感谢。

5 个答案:

答案 0 :(得分:2)

您无法在旧门户网站上使用新类型的VM与资源管理器,因此您别无选择,只能使用新的Azure门户https://portal.azure.com

让我们看一下使用资源管理器创建新VM时会得到什么。

enter image description here

默认情况下,您将在创建VM时获得以下内容,但当然,您可以选择在安装过程中选择要创建的内容或重复使用的内容。 •虚拟机 •网络接口 •网络安全组 •公共IP地址 •虚拟网络 •存储帐户

选择“网络安全组”,您将看到与Windows服务器或桌面上的Windows高级防火墙界面类似的设置页面。

enter image description here

单击“入站安全规则”。您可以在此处启用新VM的端点。当然,您也忘记在服务器操作系统中打开相同的端口。

enter image description here

答案 1 :(得分:1)

出于好奇,你为什么要改变ssh端口?该方法将取决于您为什么要这样做,但一种方法如下:

1)ssh进入端口22上的VM并使ssh守护进程监听你想要的任何端口。此链接描述了如何操作(如果您不使用iptables,可以忽略关于iptables的部分):http://support.hostgator.com/articles/hosting-guide/lets-get-started/linux-dedicated-hosting/how-to-change-the-ssh-port-on-dedicated-and-vps

2)退出ssh连接并重新选择新的选择端口

或者,您可以将VM置于负载均衡器之后,将其他端口映射到VM上的端口22(例如https://azure.microsoft.com/en-us/documentation/articles/load-balancer-get-started-internet-arm-ps/#create-lb-rules-nat-rules-a-probe-and-a-load-balancer)。

希望这有帮助! :)

答案 2 :(得分:1)

首先,您必须执行以下步骤:

以root身份登录服务器后,我们就可以开始编辑sshd_config文件了。与对重要服务器文件的任何修改一样,在进行任何更改之前备份它总是一个好主意:

sudo cp / etc / ssh / sshd_config / etc / ssh / sshd_config_backup

现在我们准备修改文件了。在您喜欢的文本编辑器中打开/ etc / ssh / sshd_config(对于此示例,我们将使用Vim)并找到指定端口的行。如果您的sshd_config文件未被更改,则端口设置将被注释掉#符号(例如下面的例子)。

sudo nano / etc / ssh / sshd_config Figure 1

#符号告诉服务器忽略同一行后面的任何内容,因此我们需要删除该字符,然后将数字22更改为其他内容。请确保您没有选择其他服务正在使用的端口号。如果您不确定,维基百科有一个端口号及其用途列表。尝试使用未列出的端口号。对于此示例,我们将使用端口2222(Windows服务器使用,但在Linux服务器上默认使用)。

删除#符号并更改端口号

秒,您必须执行以下步骤:

  1. 转到您的Azure门户并选择所有资源
  2. 选择“网络安全组”,然后您将看到与Windows服务器或桌面上的Windows高级防火墙界面类似的设置页面(参见图2)。
  3. Figure 2

    1. 点击“入站安全规则”。您可以在此处启用新VM的端点。当然,您也忘记在服务器操作系统中打开相同的端口。与您在目标端口范围内的/ etc / ssh / sshd_config文件中放入的端口相同(参见图3)。
    2. enter image description here

答案 3 :(得分:1)

这些都不适合我。

我在Youtube上找到了一个有效的答案 https://www.youtube.com/watch?v=zkr-RMcGuk0

其中涉及添加了以下重定向。

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2222 -j REDIRECT --to-port 22

答案 4 :(得分:0)

对门户网站答案的一个重要说明是,确定为入站规则指定源端口范围'*',并且优先级低于默认规则。通常100-400是一个很好的优先级范围。

与传统部署不同,资源管理器部署没有“端点”,而是入站和出站“规则”,这实际上是应用于连接的过滤器。结果是您要打开以连接到VM的端口是“destination-port-range”,source-port-range指定“此连接的原始端口”,这通常是动态的 - 因此对于大多数基本情景,应该是“任何”,即“*”。

例外情况是你的vnet内部知道原始端口应该只是那个VM上的那个端口的情况 - 为了尽可能确定只有那个VM /端口可以​​连接到这个。

但是,在您想要从互联网连接的情况下,它通常需要为'*'。

希望能澄清一点......