Como SSH em uma porta diferente de 22

72

Eu tenho dois computadores atrás do mesmo roteador. Vamos chamá-los de A e B.

A pode SSH para B da seguinte maneira: ssh usr@<internal ip of computer>

B pode SSH para A fazendo o mesmo, mas o IP externo deve ser usado. Eu encaminhei a porta 22 do meu roteador para o IP do computador A, então tudo faz sentido para mim.

No entanto, também desejo encaminhar a porta 26 para o computador B e o SSH de fora da rede usando o IP externo para ambos, mas especificando a porta 22 ou 26, para selecionar efetivamente qual computador usar.

Eu tentei permitir a porta 26 através de OUTPUT de iptables em A e INPUT de B, mas isso não parece funcionar. Eu também enviei a porta 26 para o IP interno de B (através do roteador), como fiz com 22 para A.

Veja o que recebo quando tento SSH de A para B usando o IP externo e a porta 26:

ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.

Versões:

  • A = OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 de março de 2012
  • B = OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1c 10 de maio de 2012

A tem 12.04 Ubuntu, B é um Raspberry Pi com Raspbian.

EDIT: Algo que eu esqueci de colocar: Eu tentei mudar o arquivo de configuração SSH (eu achei que é /etc/ssh/ssh_config ) Eu descomentei (excluí a # ) da linha com Port e mudei 22 codificar%. Ele me deu a conexão recusada mensagem ainda. (Eu reiniciei sem sucesso.)

    
por Gary 04.03.2013 / 23:47

4 respostas

29

Parece que você não está executando o SSH na porta 26 na segunda máquina. Você pode alterar o número da porta nessa máquina para 26.

Edite /etc/ssh/sshd_config & amp; não se esqueça de reiniciar o SSH ou deixá-lo no 22, mas encaminhar a porta 26 no roteador para a porta 22 na segunda máquina. Além disso, não se esqueça de alterar as configurações do firewall na segunda máquina para permitir as conexões.

    
por Nerdfest 04.03.2013 / 23:53
176

Se você estiver no sistema Linux e quiser se conectar a um servidor SSH na porta 26, poderá usar o seguinte comando.

ssh [email protected] -p 26

Nota:

  1. Substitua o IP do servidor pelo endereço IP ou pelo nome DNS do seu servidor.
  2. Altere o número da sua porta como você definiu.
  3. se você estiver usando a porta personalizada SSH, a mesma porta será permitida para a conexão de entrada e de saída no firewall, caso contrário, a conexão não será estabelecida
por Shiv Singh 12.08.2015 / 14:48
6

Eu uso a porta 22 somente para o acesso ssh da intranet.

Para acesso via internet, eu uso uma porta personalizada (incomum). Isso tem o benefício de reduzir a carga gerada pelos filhos de script que estão examinando a porta 22 para "nomes de usuários conhecidos"

Os processos external sshd são controlados por xinetd e executados em paralelo ao processo internal sshd. No exemplo a seguir, uso a porta 12345. Você está livre para alterar isso para qualquer número de porta disponível no seu sistema. Talvez um valor mais alto também torne um pouco mais improvável que essa porta seja verificada por uma "varredura rápida de porta".

A configuração xinetd é:

service ssh-external
{
    socket_type = stream
    wait = no
    protocol = tcp
    type = UNLISTED
    user = root
    server = /usr/sbin/sshd
    server_args = -i -f  /etc/ssh/external-sshd.config
    port = 12345
    log_on_failure += USERID

}

O arquivo /etc/ssh/external-ssdh.config pode ser uma cópia da sua configuração usual de sshd . Assegure-se de que as seguintes instruções estejam configuradas:

Port 12345
AddressFamily inet

Sugiro também impor a autenticação de chave pública e desativar a autenticação de senha para o acesso à Internet:

PasswordAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
    
por H.-Dirk Schmitt 05.03.2013 / 00:11
4

As portas de escuta também podem ser ligadas a endereços IP

/ etc / ssh / sshd_config:

ListenAddress 10.10.10.10:22
ListenAddress 20.20.20.20:4444
    
O
por OasisInDesert 28.02.2017 / 07:33