ssh-ing para uma porta

2

Considere os dois comandos a seguir:

create-smtp-message | ssh -p 25 serveraccount
create-smtp-message | ssh serveraccount telnet localhost 25

De acordo com meu entendimento de ssh (1), eles devem fazer a mesma coisa. Em vez disso, o segundo enviará a saída de create-smtp-message para a porta 25 do servidor a partir da conta do servidor (isto é, funciona), enquanto o primeiro apenas trava.

Eu estou supondo que este é apenas eu entendendo mal o que o ssh faz quando recebe o sinalizador -p, mas no caso de haver algum erro de configuração: o cliente no qual comandos análogos foram emitidos é o osx-tiger com o openssh ssh (OpenSSH_5 .1p1, OpenSSL 0.9.7l 28 Set 2006), o servidor executa um Debian Sarge (realmente deve atualizar isso!) Com o openssh sshd (OpenSSH_3.8.1p1 Debian-8.sarge.6, OpenSSL 0.9.7e 25 out 2004) . A autorização está usando o DSA, conforme especificado no arquivo .ssh / config.

    
por Charles Stewart 11.02.2010 / 11:26

2 respostas

5

Seu primeiro exemplo está dizendo ao ssh para se conectar ao daemon ssh (processo do lado do servidor) em uma porta não padrão, neste caso, 25. Se o daemon sshd não estiver escutando nesta porta, a tentativa de conexão expirará ou erro com um problema de protocolo, como você está experimentando.

O segundo está dizendo ao ssh para estabelecer uma conexão normal com "serveraccount" (que acontece na porta 22) e executar remotamente um comando telnet para localhost: 25. A saída de create-smtp-message se torna stdin em seu comando telnet, permitindo assim que seu servidor SMTP receba sua mensagem.

    
por 11.02.2010 / 11:36
3

ssh requer um sshd no outro lado para entrar em contato. A opção -p especifica em qual porta esse contato ocorrerá, se não a porta padrão. Este não é o caso, então alguém pode ssh para o servidor smtp, ou o servidor web. No entanto, esse é o erro que a primeira linha tenta, e falha porque essas portas não são um sshd que pode processar e descriptografar o protocolo criptografado do ssh. Lembre-se que a opção -p existe apenas para que o paranóico possa mover sua porta sshd para algum número não óbvio.

ssh não é um clone de telnet, mas um substituto seguro para o que era o principal mas inseguro aplicativo de telnet - criando uma conexão de terminal remoto.

Um dos usos herdados do telnet, para os quais ainda é útil, é criar uma conexão de terminal idiota para qualquer porta em um sistema. Você pode enviar e receber caracteres literalmente para essa porta. Na sua linha 2, você usou o ssh para criptografar uma sessão com um host remoto e, em seguida, no host remoto, você chamou o telnet nesse host para enviar as informações da sessão para o servidor smtp.

O ssh, por outro lado, tenta incluir tudo em criptografia - não em texto não criptografado - e precisa de um sshd para se comunicar, que é a única maneira de decodificação ocorrer.

O que você possivelmente quer descobrir é o encaminhamento de porta de portas de tráfego não criptografado usando criptografia ssh, mas isso é um aplicativo avançado e não está claro que você precisa . Sua segunda linha provavelmente é boa o suficiente para seus propósitos declarados.

    
por 11.02.2010 / 11:38

Tags