Acabei de instalar o Ubuntu 14.04 no meu servidor e estava configurando todos os meus arquivos de configuração quando me deparei com isso no meu sshd_config
arquivo:
# Authentication:
LoginGraceTime 120
PermitRootLogin without-password
StrictModes yes
Isso me deixou muito preocupado. Eu pensei que era possível que alguém estivesse fazendo login no meu servidor como root sem uma senha.
Eu tentei conectar ao meu servidor como root via:
johns-mbp:~ john$ ssh [email protected]
The authenticity of host '192.168.1.48 (192.168.1.48)' can't be established.
RSA key fingerprint is 40:7e:28:f1:a8:36:28:da:eb:6f:d2:d0:3f:4b:4b:fe.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.48' (RSA) to the list of known hosts.
[email protected]'s password:
Digitei uma senha em branco e ela não me deixou entrar, o que foi um alívio. Então, minha pergunta é: o que significa sem senha e por que isso é um padrão no Ubuntu 14.04?
without-password
, todos os métodos são permitidos, exceto a senha? Realmente soa como "permitido fazer login sem a necessidade de uma senha".PermitRootLogin now accepts an argument of 'prohibit-password' as a less-ambiguous synonym of 'without-password'.
Na verdade, essa configuração não faz praticamente nada se você estiver usando autenticação PAM. Na parte inferior do
sshd_config
arquivo de configuração, você encontrará:A configuração padrão no Ubuntu é usar a autenticação PAM:
fonte
no
não fazerPermitRootLogin without-password
realmente funcionar, de alguma forma! :(ssh-copy-id -i ~/.ssh/id_rsa.pub user@ip
isso e isso cria~/.ssh/authorized_keys
em mente que, se você não puder fazer login como root, não criaria esse arquivo em /root/.ssh/, mas funcionará se você copiar o arquivo láObserve que existem razões legítimas para efetuar login via root (mas usando chaves criptográficas e nunca uma senha). Um exemplo típico é a sincronização remota de dois servidores (para que um deles seja usado como failover). Como a estrutura deve ser idêntica, geralmente é necessária uma senha root.
Aqui está um exemplo usando uníssono para a sincronização: https://serverfault.com/questions/341985/remotely-use-root-over-ssh-for-unison
fonte
sudo
grupo também permitem que você faça isso?Nas versões mais recentes do sshd, "sem senha" foi alterado para "proibir senha".
Ambas as versões funcionam, provavelmente é melhor usar "proibir senha", se puder: ele se explica melhor.
fonte