Eu sei que existem dezenas de perguntas aqui sobre como conectar-se a um servidor SSH sem digitar sua senha todas as vezes , e a resposta é sempre "use uma chave pública". Bem, eu me encontro na rara circunstância em que isso realmente não é uma opção. Por alguma razão inexplicável, o daemon OpenSSH no servidor ao qual estou tentando conectar está configurado com
RSAAuthentication no
PubkeyAuthentication no
no /etc/ssh/sshd_config
. Como não tenho acesso administrativo ao servidor, não posso alterar essas ou outras opções de configuração do servidor. (Obviamente, eu tenho controle total sobre a configuração do cliente: OpenSSH 5.8 no Linux.)
Quais são minhas opções e, em particular, qual é a opção mais segura, para evitar a necessidade de digitar minha senha toda vez que quero fazer o SSH neste servidor? Eu mantenho meus próprios computadores razoavelmente bem protegidos, então vamos assumir que os riscos de segurança de armazenar a senha em um arquivo no cliente são aceitáveis, se isso for realmente necessário.
Os outros métodos de autenticação que o servidor pode aceitar são evidentemente a API GSS (sobre a qual não sei nada), o teclado interativo (sobre o qual também não sei nada) e a senha. Aqui estão algumas opções de configuração relevantes:
#ChallengeResponseAuthentication yes
#KerberosAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
#UsePAM no
e aqui está um -vv
rastreio debug ( ):
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug1: Next authentication method: gssapi-with-mic
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found
debug1: Unspecified GSS failure. Minor code may provide more information
debug1: Unspecified GSS failure. Minor code may provide more information
debug2: we did not send a packet, disable method
debug1: Next authentication method: keyboard-interactive
debug2: userauth_kbdint
debug2: we sent a keyboard-interactive packet, wait for reply
debug1: Authentications that can continue: gssapi-with-mic,password,keyboard-interactive
debug2: we did not send a packet, disable method
debug1: Next authentication method: password
/etc/krb5.keytab
, mas tem /etc/krb5/krb5.keytab
. Eu não tenho acesso ao conteúdo. O nome do servidor é sftp.pass.psu.edu
(acho que não há nenhum mal em dar esse nome) se ele ajudar a explicar o procedimento.
/etc/krb5.keytab
? O GSSAPI (Kerberos) pode ser simples de configurar do lado do cliente; Eu teria que pedir o nome do host do servidor, no entanto. (Também:keyboard-interactive
é muito semelhante apassword
, exceto não limitado a um prompt "Senha:".)