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, de modo que tudo faz sentido para mim.
No entanto, também quero encaminhar a porta 26 para o computador B e 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 da saída de iptables em A e entrada de B, mas isso não parecia funcionar. Também encaminhei a porta 26 para o IP interno de B (através do roteador), como fiz com 22 para A.
Aqui está 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.
Versao:
A = OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 Mar 2012
B = OpenSSH_6.0P1 Debian-4, OpenSSL 1.0.1 c 10 de Maio de 2012
A tem 12.04 Ubuntu, B é um Raspberry Pi com Raspbian.
EDIT: algo que esqueci de colocar: tentei alternar o arquivo de configuração SSH (descobri que é /etc/ssh/ssh_config) Eu não comentado (excluído o #) a linha com Port e mudou 22 para 26. Isso me deu a conexão recusou mensagem ainda. (Eu reiniciei sem sucesso.)
Se você estiver no sistema Linux e quiser se conectar a um servidor SSH na porta 26, você pode usar o seguinte comando.
ssh user@192.168.1.1 -p 26
Notar:
Substitua o IP do servidor pelo endereço IP ou nome DNS do seu servidor.
Altere o número da porta conforme definido.
se você estiver usando SSH de porta personalizada, a mesma porta será mais permitida para conexão de saída e de entrada no firewall, caso contrário, a conexão não será estabelecida
Parece que você não está executando SSH na porta 26 na segunda máquina. Você pode alterar o número da porta nessa máquina para 26.
Editar /etc/ssh/sshd_config & não se esqueça de reiniciar SSH (service sshd restart) ou deixá-lo em 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.
Eu uso a porta 22 apenas para o acesso ssh da intranet.
Para acesso via internet, uso uma porta personalizada (incomum).Isso tem o benefício de reduzir a carga gerada por script kids que estão digitalizando a porta 22 para "nomes de usuário bem conhecidos".
O externo os processos sshd são controlados por xinetd e correndo em paralelo ao internosshd process.In o exemplo a seguir eu uso a porta 12345:
Você está livre para mudar isso para qualquer número de porta livre disponível em seu sistema.Talvez um valor mais alto torne também um pouco mais improvável que esta porta seja digitalizada por um "quick port scan".
O xinetd a configuração é:
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}
Arquivo /etc/ssh/external-ssdh.config pode ser uma cópia do seu habitual sshd configuracao.Certifique-se de que as seguintes instruções estejam configuradas:
Port 12345AddressFamily inet
Também sugiro impor a autenticação de chave pública e desativar a autenticação de senha para o acesso à internet:
PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no
Como expliquei em um resposta relacionada, o cliente ssh permite especificar o formato URI como ssh://user@host:1234. Por exemplo:
ssh ssh://myuser@mydomain.com:2222
onde 2222 é o número da porta. Substitua o número da porta que você pretende usar. Claro, lembre-se que, a fim de se conectar ao servidor SSH porta especificada (no host ao qual você está tentando se conectar) tem que ouvir na porta especificada em primeiro lugar
Não é uma boa ideia executar ssh na porta padrão (TCP/22), nem encaminhar de WAN IP 22 para qualquer porta que esteja usando ssh-server em LAN IP.
Para fazer ssh-server ouvir em qualquer porta que você tem que
Editar em /etc/ssh/sshd_config (observe o d) de #Port 22 para Port 26. Ou seja, descomentar e alterar a porta. Melhor que 26 seria algo aleatoriamente acima (abaixo 65535), como 42895. Considere também mudar para PermitRootLogin no.