passwordless ssh para localhost no Ubuntu 16.04

0

Parece que não consigo configurar uma conexão ssh sem senha para o localhost, e não tenho certeza do porquê.

Em ~ / .ssh eu tenho id_rsa, authorized_keys, id_rsa.pub e known_hosts

diff authorized_keys id_rsa

não retorna nada

ls -al

-rw------- 1 long long 1675 Jun 3 02:24 authorized_keys

-rw------- 1 long long 1675 Jun 3 02:23 id_rsa

-rw-r--r-- 1 long long 438 Jun 3 02:23 id_rsa.pub

-rw-r--r-- 1 long long 444 Jun 3 02:57 known_hosts

As permissões da pasta .ssh são

drwx------ 2 long long 4096 Jun 3 03:29 .ssh

As permissões da minha pasta pessoal são

drwxr-xr-x 23 long long 4096 Jun 3 02:23 long

Em / etc / ssh / sshd_config mudei PermitEmptyPasswords para "yes"

E finalmente, a saída detalhada de

ssh -v localhost

é

OpenSSH_7.2p2 Ubuntu-4ubuntu2.4, OpenSSL 1.0.2g 1 Mar 2016

debug1: Reading configuration data /home/long/.ssh/config

debug1: Reading configuration data /etc/ssh/ssh_config

debug1: /etc/ssh/ssh_config line 19: Applying options for *

debug1: Connecting to localhost [127.0.0.1] port 22.

debug1: Connection established.

debug1: identity file /home/long/.ssh/id_rsa type 1

debug1: key_load_public: No such file or directory

debug1: identity file /home/long/.ssh/id_rsa-cert type -1

debug1: Enabling compatibility mode for protocol 2.0

debug1: Local version string SSH-2.0-OpenSSH_7.2p2 Ubuntu-4ubuntu2.4

debug1: Remote protocol version 2.0, remote software version OpenSSH_7.2p2 Ubuntu-4ubuntu2.4

debug1: match: OpenSSH_7.2p2 Ubuntu-4ubuntu2.4 pat OpenSSH* compat 0x04000000

debug1: Authenticating to localhost:22 as 'long'

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: compression: none

debug1: kex: client->server cipher: [email protected] MAC: compression: none

debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

debug1: Server host key: ecdsa-sha2-nistp256 SHA256:XK9dVu0tdSA4YSbcifizhFhigKZU2LZl+W91Eesdimw

debug1: Host 'localhost' is known and matches the ECDSA host key.

debug1: Found key in /home/long/.ssh/known_hosts:2

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_EXT_INFO received

debug1: kex_input_ext_info: server-sig-algs=

debug1: SSH2_MSG_SERVICE_ACCEPT received

debug1: Authentications that can continue: publickey,password

debug1: Next authentication method: publickey

debug1: Offering RSA public key: /home/long/.ssh/id_rsa

debug1: Authentications that can continue: publickey,password

debug1: Offering RSA public key: long@long-MS-7885-Invalid-entry-length-16- Fixed-up-to-11

debug1: Authentications that can continue: publickey,password

debug1: Next authentication method: password

long@localhost's password:

A ajuda seria muito apreciada.

    
por Adu Zob 03.06.2018 / 04:35

1 resposta

1

A configuração PermitEmptyPasswords permite que o SSH aceite senhas que estão em branco, mas isso não significa que o SSH não solicitará uma senha:

PermitEmptyPasswords - When password authentication is allowed, it specifies whether the server allows login to accounts with empty password strings. The default is no. - man sshd_config

Para permitir o login sem uma senha, você precisa configurar a autenticação de chave pública. Como mencionado por Fox, sua saída do comando diff authorized_keys id_rsa sugere que você tenha apenas sua chave SSH privada em seu arquivo authorized_keys; Esse arquivo não deve ter chaves privadas. Você pode executar cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys para substituir isso pela sua chave pública.

Então você pode se livrar dessa senha em branco:)

    
por 03.06.2018 / 05:46

Tags