ssh acesso sem senha

1

Eu sei que é possível fazer o ssh para outro servidor sem uma senha, se as chaves de autenticação estiverem definidas em ambos os servidores. Mas eu gostaria de saber se é possível permitir que usuários de qualquer IP (conhecido / desconhecido) tenham acesso ssh livre de senha a um diretório onde eles possam salvar suas coisas da maneira mais fácil possível?

Estou procurando uma solução SSH e não FTP.

    
por shantanuo 02.10.2009 / 09:16

5 respostas

5

Eu diria que a solução mais segura para isso é gerar uma chave SSH sem senha para cada máquina e adicioná-la à lista authorized_keys do outro.

Na máquina 1 (como o usuário que está se conectando ao outro servidor):

$ ssh-keygen -t rsa
$ ssh-add ~/.ssh/id_rsa
$ cat .ssh/id_rsa.pub

Se o keygen pedir uma senha, basta pressionar Enter para criar uma chave sem senha.

Na máquina 2:

  1. Crie ou edite ~/.ssh/authorized_keys para o usuário com o qual você está efetuando login.
  2. Adicione o conteúdo de id_rsa.pub (verifique se é o arquivo .pub , não a chave privada) no arquivo. Todos os id_rsa.pub devem caber em uma única linha.

Quando isso for feito, você poderá fazer isso a partir da máquina 1:

$ ssh username@machine-2

e basta estar logado sem digitar sua senha. O mesmo vale para scp / sftp.

Se isso não funcionar, verifique se você tem PubkeyAuthentication yes no seu /etc/ssh/sshd_config

    
por 02.10.2009 / 12:04
3

Tenha em mente que esse é um risco de segurança sério, então você definitivamente quer fazer isso em um ambiente restrito, executando sob um shell restrito ou apenas para contas com chroots. @Kimvais sugestão de scponly está no caminho certo.

No cliente, crie uma chave .ssh / id_rsa com uma frase secreta vazia - isso criará uma chave privada não criptografada. Em seguida, copie o arquivo .ssh / id_rsa.pub do cliente para .ssh / authorized_keys no servidor - atente para as permissões certas! (0700 para .ssh, 0600 para .ssh / authorized_keys).

Agora você pode ssh / scp / sftp no servidor sem digitar uma frase secreta.

    
por 02.10.2009 / 11:59
2

Você deseja usar as chaves para manter a segurança ativa, mas evite a gravação de senhas Que tal algo assim?

por 02.10.2009 / 09:24
1

Se isso é openssh, você pode definir "PermitEmptyPasswords yes" em seu / etc / ssh / sshd_config

Eu acho que você quer apenas permitir scp, então você provavelmente configurou scponly como o shell para o usuários.

Além disso, não permita o acesso da Internet:)

    
por 02.10.2009 / 09:21
1

Eu realmente duvido que seja possível evitar senha e / ou chave para autenticação SSH. O motivo é o próprio SSH, criado para o acesso Secure SHell . Considere trocar por FTP / telnet por uma opção não segura.

    
por 02.10.2009 / 10:30