Você também pode usar o ssh para configurar o login sem senha em um computador remoto.
É apenas (no computador a):
$ ssh-keygen # use an empty password!
$ scp ~/.ssh/id_rsa.pub computer_b:.ssh/authorized_keys
É isso.
Agora você pode fazer um
$ ssh computer_b
sem ter que digitar uma senha.
Você pode, opcionalmente, configurar coisas como:
- host alias para computer_b, por ex. para poder inserir
ssh alias
- definir a autenticação de chave pública como padrão para esse host / alias
- permite somente autenticação de chave pública (para o sshd no computer_b)
A menos que você não possa usar o ssh, parece ser muito mais conveniente configurar do que o rlogin.
Além disso, o ssh protege você contra ataques principais no meio e espionagem .
Solução de problemas
Certifique-se de que o ~/.ssh
tenha as permissões corretas (em ambos os sistemas), isto é, seja acessível apenas pelo seu usuário. Caso contrário, o ssh o ignorará. Isso significa apenas rwx------
para o diretório e rw-------
para os arquivos. Use ls -l
e ls -ld
para verificar isso.
Certifique-se de que o controle remoto ~/.ssh/authorized_keys
contenha a chave pública correta. Verifique via:
$ ssh computer_b cat '~/.ssh/authorized_keys' # remote
$ cat ~/.ssh/id_rsa.pub # local
Se a configuração não funcionar assim, talvez você tenha que configurar explicitamente o lado do cliente, por exemplo, adicionando algo assim a .ssh/config
:
Host computer_b
Hostname some_hostname
User juser
PreferredAuthentications publickey # makes testing easier
IdentitiesOnly yes
IdentityFile ~/.ssh/id_rsa.pub
Para diagnosticar problemas, também é útil adicionar -v
a ssh
call, por exemplo:
$ ssh -v computer_b