2017-04-07 109 views
1

我能够在Chrome上呈现虚拟机的公共IP,但无法将其与SSH连接,引发错误:连接到主机xxx.xxx.xxx.xx端口22:连接拒绝了。当我在Portal上检查虚拟机时,没有安全组分配给它。这与此有关吗?我该如何解决它?在azure上拒绝SSH连接vm

+0

可以TELENT天青VM端口22从您的本地PC? –

+0

无法在Windows 10上使用telnet .Http端口正在工作,但不是ssh端口。 – Gene9y

+0

不能telnet azure虚拟机或不能使用telnet这个命令? –

回答

2

根据你的描述,如果我们想ssh到泊坞窗形象,我们应该在该图像上安装SSH,所开放的端口为这个形象,我将运行CentOS的形象的比方:

docker pull centos:centos6 
docker run -i -t centos:centos6 
yum install openssh-server openssh-client(install ssh) 
chkconfig sshd on 
passwd(reset root password) 
exit 
docker commit 332b19ca916c centos/centosssh (commit this image) 

docker run -i -t -d -p 50001:22 centos/centosssh (NAT for this container) 
docker attach containerid (connect this container) 
vi /etc/ssh/sshd_config (modify sshd config) 

change UsePAM to no 

service sshd start 

然后打开Azure NSG中的端口50001。

这个时候,我们就可以使用SSH连接它:

enter image description here

更新:

我使用CLI 2.0创建的VM泊坞窗延伸,并改变公共IP地址,并使用命令sudo docker run -d -p 80:80 nginx在虚拟机上运行容器。然后使用铬来测试nginx,它工作正常,我可以ssh到Azure VM 公共IPFQDN。 nginx的容器:

[email protected]:~$ docker ps -a 
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS       NAMES 
61e10ebb6d22  nginx    "nginx -g 'daemon ..." 4 minutes ago  Up 4 minutes  0.0.0.0:80->80/tcp, 443/tcp kind_leavitt 

尝试使用FQDN到SSH主机:

[c:\~]$ ssh [email protected] 


Host 'mypublicdns.eastus.cloudapp.azure.com' resolved to 52.186.123.151. 
Connecting to 52.186.123.151:22... 
Connection established. 
To escape to local shell, press 'Ctrl+Alt+]'. 

Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-65-generic x86_64) 

* Documentation: https://help.ubuntu.com/ 

    System information as of Fri Apr 7 06:40:06 UTC 2017 

    System load: 0.31    Processes:    118 
    Usage of /: 5.8% of 28.80GB Users logged in:  1 
    Memory usage: 12%    IP address for eth0: 10.0.0.4 
    Swap usage: 0%    IP address for docker0: 172.17.0.1 

尝试使用公共IP地址的ssh主机:

[c:\~]$ ssh [email protected] 
Connecting to 52.186.123.151:22... 
Connection established. 
To escape to local shell, press 'Ctrl+Alt+]'. 

Welcome to Ubuntu 14.04.4 LTS (GNU/Linux 3.19.0-65-generic x86_64) 

* Documentation: https://help.ubuntu.com/ 

    System information as of Fri Apr 7 06:40:55 UTC 2017 

    System load: 0.21    Processes:    119 
    Usage of /: 5.8% of 28.80GB Users logged in:  1 
    Memory usage: 12%    IP address for eth0: 10.0.0.4 
    Swap usage: 0%    IP address for docker0: 172.17.0.1 
+0

我有更新我的答案,它工作正常,请检查它。 –

+0

如果你运行docker镜像并仍然不能ssh到Azure VM,也许我们可以尝试使用** reset ssh configuration **,我们可以在这里找到reset ssh config,选择VM - > reset password ---> in该模式下,选择**仅重置配置**。 –

+0

所以它工作。那么它应该工作。非常感谢杰森 – Gene9y