SSH를 사용하여 로그인할 포트를 어떻게 결정합니까?

SSH를 사용하여 로그인할 포트를 어떻게 결정합니까?

얼마 전에 설정한 원격으로 구성된 Ubuntu 10.04 서버가 있습니다. 사용자 이름과 비밀번호를 기록했을 때 일반적으로 사용되는 SSH 포트를 22에서 다른 것으로 변경할 만큼 영리해 보였습니다.

해당 포트가 무엇인지 어떻게 알 수 있나요?

호스팅 회사의 백도어를 통해 서버에 액세스할 수 있으므로 원하는 모든 Unix 명령을 실행할 수 있습니다. 하지만 내 컴퓨터에서 일반 퍼티 쉘을 사용하여 로그인할 수는 없습니다.

답변1

먼저 구성 파일에 어떤 포트가 구성되어 있는지 확인하세요.

$ sudo grep Port /etc/ssh/sshd_config
Port 22

그런 다음 재부팅하여 ssh방금 본 구성이 로드되는지 확인하거나 ssh실행 중인 포트를 확인하세요.

$ sudo netstat -tpln | egrep '(Proto|ssh)'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      12586/sshd

이는 ssh포트 22에서의 정상적인 작동입니다.

답변2

다른 방법을 통해 서버에 액세스할 수 있는 경우 다음을 실행하세요.

$ sudo grep Port /etc/ssh/sshd_config 
Port NNN

그러면 위에 표시된 것과 같은 줄이 반환되며, 여기서 NNN선택한 포트가 됩니다.

답변3

더 쉬운 방법은 SSH 서버 구성 파일을 보는 것입니다.

➜  ~  sudo grep Port /etc/ssh/sshd_config 
   Port 22

다음 명령을 사용하여 각 프로세스의 수신 포트를 확인할 수도 있습니다 lsof.

sudo lsof -Pi | grep ssh

또는 netstat -lntu.

답변4

서버 콘솔에 대한 액세스 권한이 없으면 원격 호스트의 모든 포트를 조사해야 합니다. 이러한 유틸리티는 유사 nmap하지만 네트워크 계층은 호스트(IP 주소)와 포트의 특정 조합으로 트래픽을 중계해야 합니다.

관련 정보