Eu configurei uma pequena caixa do Linux há alguns meses, e configurei o login do ssh sem senha para o meu ID de usuário pessoal e um ID de conta de serviço. Isso está funcionando bem para ambos. Eu armazenei os arquivos de chave privada / pública para a conta de serviço no mesmo local que eu armazenei as chaves do meu ID de usuário pessoal, na caixa do cliente.
Estou usando o seguinte para o meu guia básico: link .
Hoje eu configurei uma segunda caixa, com a intenção de configurá-la da mesma maneira. Eu não tive problemas para fazê-lo funcionar para o meu userid pessoal. No entanto, ainda não está funcionando para a conta de serviço, mas não entendo o motivo. Quando eu tento o ssh com a conta de serviço para a segunda caixa, ele me pede a senha e depois me deixa entrar.
Eu verifiquei que a chave pública da conta de serviço é inserida no arquivo ~ / .ssh / authorized_keys nas duas caixas, e o valor da chave é o mesmo nas duas caixas.
Eu verifiquei que ~ / .ssh tem permanentes de 700, e que ~ / .ssh / authorized_keys tem permanentes de 600 (também testei com 640, que é o que eu li como o valor recomendado) . Eu verifiquei isso em ambas as caixas, no diretório inicial da conta de serviço.
Observe que o ID do usuário numérico da conta de serviço é diferente nas duas caixas. Eu não pensaria que isso faria qualquer diferença.
Eu também noto que depois que eu ssh para qualquer caixa com a conta de serviço, se eu tentar ssh para a caixa OTHER daquele usando a conta de serviço, ele me pedirá uma senha.
Preciso fazer algo com "known_hosts" ou outra coisa?
Atualizar :
Como recomendado, tentei executar ssh com "-v" e inspecionar a saída da tentativa ssh.
Esta é a saída, com algumas elisões:
% ssh -v [email protected]
OpenSSH_7.2p2, OpenSSL 1.0.2h 3 May 2016
debug1: Reading configuration data /home/myuserid/.ssh/config
debug1: /home/myuserid/.ssh/config line 2: Applying options for *
debug1: Connecting to targethost.com [...] port 22.
debug1: Connection established.
debug1: identity file /home/myuserid/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/myuserid/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to targethost.com:22 as 'serviceaccountid'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:...
debug1: Host 'targethost.com' is known and matches the ECDSA host key.
debug1: Found key in /home/myuserid/.ssh/known_hosts:18
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: rekey after 134217728 blocks
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/myuserid/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/myuserid/.ssh/id_dsa
debug1: Trying private key: /home/myuserid/.ssh/id_ecdsa
debug1: Trying private key: /home/myuserid/.ssh/id_ed25519
debug1: Next authentication method: password
[email protected]'s password:
Acho curioso que nas últimas linhas, depois de "Próximo método de autenticação: publickey", as referências do caminho do arquivo sejam "/ home / myuserid", não "/ home / serviceaccountid". Isso parece uma grande pista.