Como faço para descobrir em qual porta efetuar login com o SSH?


14

Eu tenho um servidor Ubuntu 10.04 configurado remotamente que eu instalei há um tempo. Enquanto eu registrava o nome de usuário e a senha, pareço ter sido inteligente e alterei a porta ssh usual de 22 para ... outra coisa.

Como descubro qual pode ser essa porta?

Eu tenho acesso ao servidor pela porta traseira da empresa de hospedagem, para que eu possa executar os comandos Unix necessários - mas não consigo fazer login usando um shell de massa normal na minha máquina.


Provavelmente isso é bobagem, e você já tem boas respostas, mas se você já se conectou no passado, pode verificar o histórico do seu terminal e / ou ~/.ssh/config.
Sparhawk

Respostas:


24

Primeiro verifique no arquivo de configuração qual porta está configurada:

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

Em seguida, reinicie sshpara garantir que carrega a configuração que você acabou de ver ou descubra em qual porta sshestá sendo executada:

$ 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

Essa é uma sshexecução normal na porta 22.


1
Apenas uma nota: Eu não acho que você precisa de sudo
piertoni

No primeiro comando, você precisa, sudoporque geralmente o sshdarquivo de configuração não é legível mundialmente. No segundo, você precisa sudoresolver o problema Program name; caso contrário, poderá ver apenas o nome dos processos em execução no seu próprio usuário.
Marcos Dione

Concordo com @piertoni, você não precisa executar este comando com "SUDO".
Amintabar 23/09/19

8

Se você tiver acesso ao servidor por outros meios, basta executar:

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

Isso retornará uma linha como a mostrada acima, onde NNNserá a porta que você escolheu.


3

A maneira mais fácil é apenas olhar para os arquivos de configuração do servidor SSH:

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

Há também a verificação de portas de escuta por processo com lsof:

sudo lsof -Pi | grep ssh

ou qualquer outro comando de listagem de portas como netstat -lntu.


3

Se você não tiver acesso ao console do servidor, precisará verificar todas as portas de um host distante. Esses utilitários são semelhantes nmap, no entanto, a camada de rede deve retransmitir o tráfego para a combinação específica de host (endereço IP) E porta.


3

Se você não tiver acesso de login ao servidor, poderá encontrar a porta SSH usando nmapo recurso "varredura de versão" de s:

nmap -sV -p- <insert target's IP here>

A -sVopção significa "varredura de versão" e -p-significa "varrer todas as portas". Se você tiver uma boa conexão e tiver certeza de que não perturbará o firewall ou o IDS de alguém, adicione -T5"scan o mais rápido possível". Os resultados serão mais ou menos assim:

PORT     STATE SERVICE VERSION
1422/tcp open  ssh      (protocol 2.0)

1
$ 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.