Como você sabe, a vantagem que a senha oferece é que, se alguém conseguir ler sua chave privada, ela não poderá usá-la.
Se alguém conseguir acessar essa chave privada, você deverá ter como certo que eles têm acesso (ed) / comprometeu todas as máquinas configuradas com a chave pública. Coisas como .bash_history ou .ssh / config tornam isso mais fácil, mesmo que o seu .ssh / known_hosts seja ofuscado.
Não ter uma senha na sua chave não é o fim do mundo, aqui estão 3 ideias para tentar ajudá-lo a se proteger um pouco melhor, apesar disso. ( O biggie é o segundo, leia isso se nada mais )
-
Não use apenas a mesma chave em todas as máquinas e usuários. Gere cada usuário em cada máquina (que precisa fazer esse tipo de coisa) seu próprio par de chaves. Isso permitirá que você mantenha um controle refinado sobre o que é capaz de ssh onde.
-
Ao adicionar a chave ao seu arquivo authorized_keys, você pode bloqueá-lo para poder executar somente um comando específico ou usá-lo somente de um host específico.
Veja
man ssh
e procure comando = e de =A sintaxe é algo como:
from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name
i.e. pop 'rsync' e somente 'rsync' pode ser chamado pela sua chave, e somente pelo endereço IP 1.2.3.4. Vários IPs podem ser separados por
,
. Nomes de host também são suportados. -
Outra coisa que vem à mente é a diretiva 'AllowUser' no seu sshd_config
AllowUsers
This keyword can be followed by a list of user name patterns, separated by spaces. If specified, login is allowed only for user names that match one of the patterns. '*' and '?' can be used as wildcards in the patterns. Only user names are valid; a numerical user ID is not recognized. By default, login is allowed for all users. If the pattern takes the form USER@HOST then USER and HOST are separately checked, restricting logins to particular users from particular hosts.
Isso basicamente garante que o usuário só possa fazer login a partir de um determinado local. (embora também aceite curingas) Não vai resolver todos os seus problemas, mas pelo menos dificultará os outros.