OpenSSH 6.2
introduziu vários métodos de autenticação.
Para referências, veja sshd_config (5).
Algo não está claro para mim com autenticação SSH.
Eu tenho um trabalho do Talend que se conecta ao sFTP (usando o protocolo SSH) e na página de propriedades do componente, eu tenho a escolha entre:
1.% de autenticaçãoPassword
2.% de autenticaçãoPublicKey
Quando escolho a autenticação Password
, os dados a serem inseridos são username
e password
.
mas quando escolho a autenticação PublicKey
, os dados a serem inseridos são username
, password
, private key path
e private key pass-phrase
.
Eu acho que quando uma autenticação PublicKey
está definida em um servidor, não há necessidade de uma senha.
O SSH ativa uma autenticação usando uma chave pública e uma senha ao mesmo tempo que uma imposição de segurança ou é apenas uma alternativa, o que significa que, se a chave pública não for autorizada, o nome de usuário padrão / password será usada (se o servidor sshd
permitir)?
OpenSSH 6.2
introduziu vários métodos de autenticação.
Para referências, veja sshd_config (5).
Normalmente, se você usar PublicKey
e Password
, será um retrocesso. PublicKey
é tentado primeiro porque é mais seguro e mais seguro, então Password
é tentado.
Eu STRONGLY (e eu não posso deixar isso ousado o suficiente). Sugira que você permita a autenticação baseada somente em somente PublicKey
para qualquer servidor SSH em execução na Internet.
Quando a conexão SSH é estabelecida usando a autenticação Password
, a senha é enviada ao servidor. A autenticação por senha deixa você aberto para a rota normal de brute forçando uma senha. O que pode e vai acontecer, se houver usuários suficientes usando esse servidor de ver (um deles irá escolher uma senha de baixa qualidade).
A autenticação baseada em chave é muito mais segura, porque vincula um usuário em uma máquina a um usuário em outra máquina. A chave é normalmente gerada por par de máquina / usuário do cliente. Quando eu explico isso para os clientes, eu costumo usar o exemplo do cartão de identificação. Você tem um cartão de identificação, mas pode colocá-lo em muitos lugares.
Dito isto, as chaves podem ser criptografadas com senhas. Portanto, a chave que você gera na sua máquina local pode ter (e faz por padrão) uma senha para descriptografá-la. O que significa que sua máquina local lhe pedirá uma senha, decifrará sua chave, a enviará para o servidor e o servidor tentará autenticá-la. (Para ser justo, não decifra realmente a sua chave, é que a chave pública é "compensada" pela sua senha).
Então, se você usar PublicKey
, precisará fornecer uma chave pública para a combinação de usuário / máquina com a qual você está tentando se conectar.
Se você usar Password
, precisará fornecer uma senha (enviada de forma clara) para o servidor ao qual está tentando se conectar.
Se você usar PublicKey
e Password
, precisará fornecer uma chave pública ou uma senha.