Não é possível conectar-se a outro usuário que não o root por meio do SSH

3

Estou tentando conectar-me a um servidor na minha rede local usando o SSH e gostaria de poder fazer o login como storm , mas não como root (para fins de segurança óbvia). Copiei minha chave .pub para o .ssh/authorized_keys

Com este / etc / ssh / sshd_config:

PermitRootLogin no
[...]
Match Address 192.168.1.*,127.0.0.1
   PermitRootLogin yes

Eu recebo:

$ ssh root@ip
Enter passphrase for key 'PATH_OF_THE_KEY'
$ ssh storm@ip
Permission denied (publickey).

Com esta nova linha no final:

AllowUsers storm ou AllowUsers storm root

Eu recebo:

$ ssh root@ip
Permission denied (publickey).
$ ssh storm@ip
Permission denied (publickey).

Mesmo com o bloco Match Address comentado, ele me bloqueia root & do utilizador. Alguém pode me ajudar?

EDITAR: Registre-se para cada conexão com falha com o usuário de tempestade

localhost sshd[698]: Invalid user storm from 192.168.1.11
localhost sshd[443]: input_userauth_request: invalid user storm [preauth]
localhost sshd[698]: Connection closed by 192.168.1.11 [preauth]

Nenhuma senha permitida:

PasswordAuthentication no

ssh -v root@ip e ssh -v storm@ip fornecem a mesma saída com AllowUsers storm :

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 192.168.1.33 [192.168.1.33] port XXXX.
debug1: Connection established.
debug1: identity file /home/storm/.ssh/id_rsa type -1
debug1: identity file /home/storm/.ssh/id_rsa-cert type -1
debug1: identity file /home/storm/.ssh/id_dsa type -1
debug1: identity file /home/storm/.ssh/id_dsa-cert type -1
debug1: identity file /home/storm/.ssh/id_ecdsa type 3
debug1: identity file /home/storm/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/storm/.ssh/id_ed25519 type -1
debug1: identity file /home/storm/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3
debug1: Remote protocol version 2.0, remote software version OpenSSH_7.1
debug1: match: OpenSSH_7.1 pat OpenSSH* compat 0x04000000
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr [email protected] none
debug1: kex: client->server aes128-ctr [email protected] none
debug1: sending SSH2_MSG_KEX_ECDH_INIT
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ECDSA XX:XX:XX:XX:XX:XX:XX:XX
debug1: Host '[192.168.1.33]:XXXX' is known and matches the ECDSA host key.
debug1: Found key in /home/storm/.ssh/known_hosts:1
debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Trying private key: /home/storm/.ssh/id_rsa
debug1: Trying private key: /home/storm/.ssh/id_dsa
debug1: Offering ECDSA public key: /home/storm/.ssh/id_ecdsa
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/storm/.ssh/id_ed25519
debug1: No more authentication methods to try.
Permission denied (publickey).

EDIT2:

drwx------  2 root root 4096 19 sept. 15:47 .ssh
-r-------- 1 root root  236 19 sept. 15:47 authorized_keys

EDIT3:

Agora trabalhando! Obrigado a Brandon Xavier. Eu não entendi que cada usuário (lado do servidor) precisa ter seu próprio diretório .ssh, que é, sem dúvida, um pensamento posterior lógico.

Mas agora eu posso fazer o login como tempestade (que é o que eu queria), mas não mais como raiz direta.

Ambos root & storm tem seu diretório .ssh, authorized_keys files, com proprietários / permissões corretos e a mesma chave pública para cada arquivo authorized_keys . O arquivo de configuração do SSHD está sempre com o bloco Match . O que poderia bloquear o acesso root?

    
por Storm 20.09.2015 / 21:12

3 respostas

2

.ssh e tudo sob ele deve ser de propriedade do usuário (neste caso, 'tempestade') e somente o usuário deve ter permissão. chown -R storm ~storm/.ssh; chmod 700 ~storm/.ssh;chmod 600 ~storm/.ssh/authorized_keys deve fazer o truque.

Se você tiver controle sobre quem pode fazer login no console, poderá sair sem o bloco Match e a diretiva AllowUsers simplesmente desativando as senhas e permitindo o login raiz apenas com um chave:

PasswordAuthentication no
PermitRootLogin without-password

Certifique-se de testar isso enquanto você tiver acesso ao console. . . apenas no caso.

    
por 22.09.2015 / 01:21
1

E sobre "PaswordAuthentication" no seu arquivo de configuração? se você tiver modificado sua configuração, lembre-se de reiniciar o serviço

alguns links: link link

    
por 20.09.2015 / 21:46
0

Eu tenho o mesmo problema. Depois de verificar /etc/passwd , vejo a configuração do shell myuser configurada como /bin:false

$ cat /etc/passwd
myuser:x:112:116::/media/sys:/bin/false

Eu tenho que corrigir isso com usermod myuser -s /bin/bash e depois disso eu tenho:

$ cat /etc/passwd
myuser:x:112:116::/media/sys:/bin/bash

Voila, está funcionando bem agora:)

    
por 07.05.2018 / 12:34