Ao configurar o SFTP entre servidores * nix, o handshake inicial é opcional?

0

Eu configurei o SFTP entre servidores * nix da seguinte forma:

  1. Gere a chave pública no servidor de envio executando o comando abaixo:

    [user1@server1] $ /usr/local/bin/ssh-keygen -t rsa -b 1024

  2. Em seguida, copie o arquivo "id_dsa.pub" no arquivo /home/remote_user1/.ssh/authorized_keys no servidor da máquina remota2.

  3. Conecte-se ao servidor2:

    $ sftp remote_user1@server2

Em seguida, sou solicitado a inserir a senha uma vez para concluir o handshake e, em seguida, para todas as conexões SFTP a seguir, ele se conecta diretamente.

Mas recentemente outra equipe conseguiu se conectar diretamente ao nosso servidor sem o handshake inicial, geralmente eu preciso fornecer a senha do remote_user1 para handshaking.

Então, quais alterações de configuração (se houver) podem permitir que o handshake seja feito sem a senha? Quaisquer links que possam me ajudar a entender melhor o processo de handshake do SFTP também seriam muito úteis, já que eu não encontrei muito sobre esse assunto.

    
por Kent Pawar 10.04.2013 / 08:40

2 respostas

2

Não estou ciente de nenhum processo de "handshaking" no SSH. A partir das etapas descritas, no entanto, parece que você não está dizendo ao SSH para usar a chave em id_dsa para autenticação, o que causaria um fallback na autenticação de senha. Quando você tiver fornecido a senha, talvez algum daemon de cache de senha ou chave em execução no cliente armazene essas informações e as reutilize nas conexões subseqüentes?

Poderia, por acaso, ser o que você está vendo?

Em caso afirmativo, basta dizer ao SSH para usar id_dsa para autenticação quando o servidor remoto souber sobre a chave pública correspondente e permitir que ela seja usada para autenticação.

A página man do OpenSSH diz:

-i identity_file
      Selects a file from which the identity (private key) for RSA or DSA authentication
      is read.  The default is ~/.ssh/identity for protocol version 1, and
      ~/.ssh/id_rsa and ~/.ssh/id_dsa for protocol version 2. (...)

e se o Solaris for algo similar, a menos que você esteja em ~ / .ssh ao executar o ssh-keygen, o SSH não saberá usar ./id_dsa .

    
por 10.04.2013 / 09:38
0

Acontece que eu tinha permissões incorretas definidas para .ssh e authorized_keys que exigiam que eu insira as credenciais.

O diretório

~/.ssh pode ter permissões 700 ou 755 , mas não 775 , pois outras pessoas podem acessar o conteúdo do arquivo authorized_keys . Dar permissão a outras pessoas para escrever sobre esse arquivo estaria perdendo todo o sentido da segurança.

~/.ssh/authorized_keys file pode ter permissões 400 (legível somente para você) ou 600 (somente para gravação).

    
por 31.08.2013 / 05:32