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
Amazon web services SSH连接被拒绝。端口关闭是端口扫描的状态_Amazon Web Services_Ssh_Amazon Ec2_Recovery - Fatal编程技术网

Amazon web services SSH连接被拒绝。端口关闭是端口扫描的状态

Amazon web services SSH连接被拒绝。端口关闭是端口扫描的状态,amazon-web-services,ssh,amazon-ec2,recovery,Amazon Web Services,Ssh,Amazon Ec2,Recovery,我有一个ec2实例已经使用了几年,它被用于多种用途。但是不能ssh到实例中,因为它说连接被拒绝。我停止了实例并分离了卷并将其连接到一个新实例上以检查ssh配置,事实上,我已将当前配置替换为默认配置,并添加了一行名为UseDNS no。我运气不好 我尝试使用aws的用户数据运行脚本,但肯定无法运行。我将服务器的卷装载到一个新服务器上,并编写了一个BASH脚本来启动netcat,确保ssh服务正在运行,防火墙端口已打开,并在/etc/rc.local中添加了一个命令,以授予运行脚本的可执行权限。我不

我有一个ec2实例已经使用了几年,它被用于多种用途。但是不能ssh到实例中,因为它说连接被拒绝。我停止了实例并分离了卷并将其连接到一个新实例上以检查ssh配置,事实上,我已将当前配置替换为默认配置,并添加了一行名为
UseDNS no
。我运气不好

我尝试使用aws的用户数据运行脚本,但肯定无法运行。我将服务器的卷装载到一个新服务器上,并编写了一个BASH脚本来启动netcat,确保ssh服务正在运行,防火墙端口已打开,并在
/etc/rc.local
中添加了一个命令,以授予运行脚本的可执行权限。我不确定启动脚本是否正在运行,或者是否有其他关于如何解决此问题的建议

sshd_配置如下所示:

Port 22
ListenAddress 0.0.0.0
SyslogFacility AUTHPRIV
PermitRootLogin yes
PermitRootLogin forced-commands-only
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintLastLog yes
UsePrivilegeSeparation sandbox      # Default for new installations.
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY    LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp  /usr/libexec/openssh/sftp-server
UseDNS no
#!/bin/bash
sudo apt-get install ssh netcat -y
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j ACCEPT
sudo service ssh stop
sudo service ssh start
sudo touch /home/ubuntu/logs
sudo service --status-all >> /home/ubuntu/logs
sudo aws s3 cp /home/ubuntu/logs s3://recover-server
sudo nc -l 9999 &
ssh_配置与默认配置相同

SSH详细输出:

OpenSSH_7.3p1, LibreSSL 2.4.1
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 20: Applying options for *
debug2: resolving "x.x.x.x" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to x.x.x.x [x.x.x.x] port 22.
debug1: connect to address x.x.x.x port 22: Connection refused
ssh: connect to host x.x.x.x port 22: Connection refused
Nmap结果:

PORT      STATE  SERVICE
22/tcp    closed ssh
80/tcp    open   http
110/tcp   open   pop3
143/tcp   open   imap
443/tcp   closed https
993/tcp   open   imaps
995/tcp   open   pop3s
8080/tcp  closed http-proxy
服务器已配置aws凭据。我正在运行的BASH脚本如下所示:

Port 22
ListenAddress 0.0.0.0
SyslogFacility AUTHPRIV
PermitRootLogin yes
PermitRootLogin forced-commands-only
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
ChallengeResponseAuthentication no
UsePAM yes
X11Forwarding yes
PrintLastLog yes
UsePrivilegeSeparation sandbox      # Default for new installations.
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY    LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp  /usr/libexec/openssh/sftp-server
UseDNS no
#!/bin/bash
sudo apt-get install ssh netcat -y
iptables -A INPUT -p tcp -s 0.0.0.0/0 --dport 22 -j ACCEPT
sudo service ssh stop
sudo service ssh start
sudo touch /home/ubuntu/logs
sudo service --status-all >> /home/ubuntu/logs
sudo aws s3 cp /home/ubuntu/logs s3://recover-server
sudo nc -l 9999 &

我无法通过SSH连接到服务器,因为它仍然说连接被拒绝,我尝试使用pem密钥,还将我的公钥添加到授权的\u hosts文件中。我也无法连接netcat反向外壳。我已将我的IP地址列入安全组的白名单。在使用NMAP进行端口扫描时,显示端口22已关闭。关于如何解决此问题并恢复服务器,您有什么建议吗

安全组是否仍允许访问端口22?是!安全组允许端口22访问我的家庭IP。您可以使用服务器的AMI并尝试SSH(使用相同的密钥和安全组)吗?可以。我试过了,它也有同样的问题。