Como configuro o sshd no Mac OS X para permitir apenas a autenticação baseada em chave?

15

Eu tenho uma máquina Mac OS X (Mac mini executando 10.5) com o Login Remoto ativado. Quero abrir a porta sshd na Internet para poder fazer login remotamente.

Por motivos de segurança, desejo desativar logins remotos usando senhas, permitindo que apenas usuários com uma chave pública válida façam login.

Qual é a melhor maneira de configurar isso no Mac OS X?

Christian Berg
fonte

Respostas:

20

Depois de um pouco de tentativa e erro, eu mesmo encontrei a resposta. Essas opções precisam ser definidas em /etc/sshd_config:

PasswordAuthentication no
ChallengeResponseAuthentication no

Apenas mudar um deles não é suficiente.

Christian Berg
fonte
3
Em El Capital (e provavelmente em Mavericks também), o local mudou para em /etc/ssh/sshd_configvez de apenas/etc/sshd_config
yorch 25/10/2015
Essa foi a solução. Uma grande quantidade de recursos online não mencionar a chave para essa coisa toda: ChallengeResponseAuthentication no.
21419
1

Em / etc / ssh / sshd_config

# To disable tunneled clear text passwords, change to no here! Also,
# remember to set the UsePAM setting to 'no'.
#PasswordAuthentication yes
#PermitEmptyPasswords no

Defina PasswordAuthentication como no e remova o # antes dele.

user21715
fonte
Você leu o comentário acima sobre como definir o UsePAM como 'não'?
user21715
Isso não parece ser necessário (veja minha própria resposta).
1889 Christian Berg
0

Na verdade, é no / etc / sshd_config que você define a seguinte linha:

PasswordAuthentication no

Se você estiver usando uma instalação de estoque (ou seja, você não construiu / instalou você mesmo a partir do código-fonte), o launchd deve cuidar de pegar a nova configuração sem precisar reiniciar o daemon.

user5336
fonte
Isso não está funcionando, ainda posso fazer login com minha senha. O arquivo de log /var/log/secure.log contém uma entrada como esta: sshd [16306]: aceito por teclado interativo / pam para christian da 192.168.178.20 porta 63841 ssh2 Eu acredito que a opção PasswordAuthentication controla apenas os logins de senha em texto não criptografado, não teclado interativo?
Christian Berg