Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
azure vm上的SSH连接被拒绝_Azure_Ssh_Virtual Machine - Fatal编程技术网

azure vm上的SSH连接被拒绝

azure vm上的SSH连接被拒绝,azure,ssh,virtual-machine,Azure,Ssh,Virtual Machine,我能够在Chrome上呈现虚拟机的公共ip,但无法将其与SSH连接,导致错误:连接到主机xxx.xxx.xxx.xx端口22:连接被拒绝。当我在门户上检查虚拟机时,没有为其分配安全组。这与此有关吗?我怎样才能修好它 根据您的描述,如果我们想要ssh到docker映像,我们应该在该映像上安装ssh,并为该映像打开端口,我将运行centos映像,例如: docker pull centos:centos6 docker run -i -t centos:centos6 yum install ope

我能够在Chrome上呈现虚拟机的公共ip,但无法将其与SSH连接,导致错误:连接到主机xxx.xxx.xxx.xx端口22:连接被拒绝。当我在门户上检查虚拟机时,没有为其分配安全组。这与此有关吗?我怎样才能修好它

根据您的描述,如果我们想要ssh到docker映像,我们应该在该映像上安装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连接它:

更新:

我使用CLI 2.0创建一个具有docker扩展的VM,并将公共IP地址更改为static,并使用命令
sudo docker run-d-p 80:80 nginx
在VM上运行容器。然后使用chrome来测试nginx,它工作得很好,我可以使用公共IPFQDNssh到Azure VM。 nginx容器:

jason@MyDockerVM:~$ 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 jason@mypublicdns.eastus.cloudapp.azure.com


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 jason@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: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

您可以从本地PC通过端口22远程发送azure vm吗?无法在windows 10上使用telnet。Http端口正在工作,但不是ssh端口。无法telnet azure VM或无法使用telnet此命令?Http在端口80上工作,ssh在端口22上工作,您的VM在经典VM或azure资源VM中创建?开箱即用,您在azure中启动的每个Linux VM都有一个打开的ssh端口。如果您使用ARM,它将是端口22。如果您创建了一个经典vm,那么它要么是端口22,要么是随机端口(如果
cloudapp.net
命名空间中有多个vm。也许可以用配置的端口的更多详细信息编辑您的问题?我已经更新了我的答案,它工作正常,请检查它。如果您运行docker映像但仍然无法ssh到Azure vm,也许我们可以尝试使用重置ssh配置,我们可以在此处找到重置ssh配置,选择。)VM-->重置密码--->在模式中,选择“仅重置配置”。这样它就可以工作了。然后它应该可以工作了。非常感谢Jason@Gene9y-如果你有一个新问题,作为一个问题提问。不要埋没在评论中。