Keychain O SSH Key Manager impede o login do SFTP no CentOS

1

Eu instalei keychain e adicionei isso ao meu .bashrc no CentOs para ajudar a gerenciar minhas chaves SSH:

/usr/bin/keychain --clear $HOME/.ssh/id_rsa
source $HOME/.keychain/$HOSTNAME-sh

Então, no login do SSH, eu sou solicitado a inserir a senha da chave, que irá durar até a reinicialização ou término da sessão.

Enquanto isso estiver ativado, todas as tentativas de login de SFTP serão interrompidas na autenticação. Como posso deixar o suporte ao keychain ativado enquanto desconsidero os logins do SFTP? Isso é possível? Eu não quero ter que ativar / desativar quando preciso fazer coisas.

    
por Jared Eitnier 12.09.2014 / 17:43

1 resposta

2

Parece que seu shell de login é bash e seu servidor SSH está configurado para invocar seu shell de login para executar o servidor SFTP.

Você pode configurar o sshd para executar o servidor SFTP diretamente, colocando uma linha como a seguinte em /etc/sshd_config :

Subsystem sftp /usr/lib/openssh/sftp-server

ou

Subsystem sftp internal-sftp

Você também pode corrigir o problema alterando seu .bashrc . Isto tem o benefício adicional de também corrigir problemas com outros usos não-interativos do ssh, como scp, rsync, etc. Há um bug de design no bash: ele carrega .bashrc para shells interativos não-login, e para não- shells de login remoto interativo, mesmo que as duas situações não tenham absolutamente nada em comum. Adicione um protetor na parte superior do seu .bashrc para ignorar o restante do arquivo em uma configuração não interativa:

[[ $- = *i* ]] || return
    
por 14.09.2014 / 03:20