전에 설정 한 Ubuntu 10.04 서버를 원격으로 설정했습니다. 사용자 이름과 비밀번호를 기록하는 동안 영리한 것 같고 일반적인 ssh 포트를 22에서 …로 변경했습니다.
포트가 무엇인지 어떻게 알 수 있습니까?
호스팅 회사의 백도어를 통해 서버에 액세스 할 수 있으므로 필요한 모든 Unix 명령을 실행할 수 있지만 내 컴퓨터에서 일반 퍼티 쉘을 사용하여 로그인 할 수 없습니다.
댓글
답변
먼저 포트가 어떤 구성 파일인지 확인 구성됨 :
$ 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에서 실행됩니다.
댓글
- 참고 : 저는 ' sudo가 필요하다고 생각하지 않습니다.
- 일반적으로
sshd
구성 파일은 세계에서 읽을 수 없기 때문에 첫 번째 명령에는sudo
가 필요합니다. 두 번째로Program name
를 해결할 수 있도록sudo
가 필요합니다. 그렇지 않으면 자신의 프로세스에서 실행되는 프로세스의 이름 만 볼 수 있습니다. 사용자. - @piertoni에 동의합니다. ' " SUDO ".
답변
서버에 대한 액세스 권한이있는 경우 다른 방법을 통해 다음을 실행하십시오.
$ sudo grep Port /etc/ssh/sshd_config Port NNN
위에 표시된 것과 같은 줄이 반환되며 NNN
가 당신이 선택한 항구가 되십시오.
답변
쉬운 방법은 SSH 서버 구성 파일을 보는 것입니다.
➜ ~ sudo grep Port /etc/ssh/sshd_config Port 22
lsof
를 사용하여 프로세스 당 수신 포트도 확인합니다.
sudo lsof -Pi | grep ssh
또는 netstat -lntu
와 같은 다른 포트 목록 명령.
Answer
If 서버에 대한 로그인 액세스 권한이없는 경우 nmap
“의”버전 검색 “기능을 사용하여 SSH 포트를 찾을 수 있습니다.
nmap -sV -p- <insert target"s IP here>
-sV
옵션은 “버전 스캔”을 의미하고 -p-
는 “모든 포트 스캔”을 의미합니다. 연결 상태가 양호하고 “다른 사람의 방화벽이나 IDS를 화나게하지 않을 것”이 확실한 경우 “최대한 빨리 스캔”하도록 -T5
를 추가 할 수 있습니다. 결과는 다음과 같습니다.
PORT STATE SERVICE VERSION 1422/tcp open ssh (protocol 2.0)
답변
“서버 콘솔에 액세스 할 수 없습니다.”원격 호스트에서 모든 포트를 검색해야합니다. 이러한 유틸리티는 nmap
와 비슷하지만 네트워크 계층은 트래픽을 호스트 (IP 주소) 및 포트의 특정 조합
답변
$ sudo netstat -lntp [sudo] password for XXX: Active Internet connections (only servers) 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 2799/sshd tcp6 0 0 :::22 :::* LISTEN 2799/sshd
.