서버 공간을 확보하고 방화벽이 있는 Apache 웹 서버를 설치했습니다.이 튜토리얼하지만 이제 서버에 SSH를 통해 연결하려고 하면 이 오류가 발생합니다.
OpenSSH_7.6p1 Ubuntu-4ubuntu0.3, OpenSSL 1.0.2n 7 Dec 2017
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to xx.xxx.xxx.xx [xx.xxx.xxx.xx] port 80.
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_rsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519-cert type -1
debug1: Local version string SSH-2.0-OpenSSH_7.6p1 Ubuntu-4ubuntu0.3
debug1: ssh_exchange_identification: HTTP/1.1 400 Bad Request
debug1: ssh_exchange_identification: Date: Tue, 02 Jul 2019 19:27:18 GMT
debug1: ssh_exchange_identification: Server: Apache/2.4.18 (Ubuntu)
debug1: ssh_exchange_identification: Content-Length: 313
debug1: ssh_exchange_identification: Connection: close
debug1: ssh_exchange_identification: Content-Type: text/html; charset=iso-8859-1
debug1: ssh_exchange_identification:
debug1: ssh_exchange_identification: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
debug1: ssh_exchange_identification: <html><head>
debug1: ssh_exchange_identification: <title>400 Bad Request</title>
debug1: ssh_exchange_identification: </head><body>
debug1: ssh_exchange_identification: <h1>Bad Request</h1>
debug1: ssh_exchange_identification: <p>Your browser sent a request that this server could not understand.<br />
debug1: ssh_exchange_identification: </p>
debug1: ssh_exchange_identification: <hr>
debug1: ssh_exchange_identification: <address>Apache/2.4.18 (Ubuntu) Server at sample.com Port 80</address>
debug1: ssh_exchange_identification: </body></html>
ssh_exchange_identification: Connection closed by remote host
ssh_config 및 sshd_config 파일을 보기 위해 vim scp를 사용해 보았지만 얻은 것은 빈 파일뿐이었습니다. 지금은 서버에 접근할 수 없습니다. key_load_public 파일이 무엇인지, 어떤 모양이어야 하는지 전혀 모릅니다. 서버에는 액세스 키가 없으며 사용자 이름과 비밀번호만 있습니다.
답변1
의견에 따르면 서버에서 포트 22를 열어야 하는 것 같습니다. @GracefulRestart가 말했듯이 포트 22는 SSH의 기본 포트입니다. 서버에서 포트 80을 사용하여 SSH 세션을 시작하려고 하면 실제로는 SSH 서버가 아닌 Apache 서버에 연결됩니다. 웹 서버가 실제로 404 오류 페이지의 HTML로 응답하기 때문에 우리는 귀하가 웹 서버와 통신하고 있다는 것을 알고 있습니다.
포트 22를 열려면 참조한 튜토리얼의 2단계를 따르되 애플리케이션을 Apache 대신 OpenSSH로 변경하세요. 그런 다음 SSH 세션을 다시 시작하여(포트 22에서) 확인하십시오.
참고: 일정 기간 동안 공용 인터넷에서 SSH 서버를 사용하려는 경우 비표준 SSH 포트 사용을 고려할 수 있습니다. 포트 22를 사용하는 경우~ 할 것이다로그인 시도를 봅니다. 또한 SSH를 통한 루트 로그인을 비활성화하고 비밀번호가 규정을 준수하는지 확인하는 것도 고려해 보세요.