Estou tentando criar uma chave ssh para outro usuário. Estou logado como root. Posso apenas editar os arquivos gerados pelo ssh-keygen e alterar root para o usuário que eu quero?
Estou tentando criar uma chave ssh para outro usuário. Estou logado como root. Posso apenas editar os arquivos gerados pelo ssh-keygen e alterar root para o usuário que eu quero?
Respostas:
Você pode fazer isso com ssh-keygen
, no entanto, lembre-se de que a chave privada deve ser privada do usuário, portanto, você deve ter muito cuidado para mantê-la segura - tão segura quanto a senha do usuário. Ou ainda mais seguro, pois o usuário provavelmente não precisará alterá-lo no primeiro login.
ssh-keygen -f anything
cria dois arquivos no diretório atual. anything.pub
é a chave pública, que você pode anexar ao usuário ~/.ssh/authorized_keys
em qualquer servidor de destino.
O outro arquivo, apenas chamado, anything
é a chave privada e, portanto, deve ser armazenado com segurança para o usuário. O local padrão seria ~username/.ssh/id_rsa
(aqui nomeado id_rsa
, que é o padrão para chaves rsa). Lembre-se de que o .ssh
diretório não pode ser legível ou gravável por ninguém além do usuário, e o diretório inicial do usuário não pode ser gravável por ninguém além do usuário. Da mesma forma, as permissões também devem ser restritas à chave privada: leitura / gravação apenas para o usuário, e o diretório .ssh e o arquivo de chave privado devem pertencer ao usuário.
Tecnicamente, você pode armazenar a chave em qualquer lugar. Com ssh -i path/to/privatekey
você pode especificar esse local, durante a conexão. Novamente, a propriedade e as permissões apropriadas são críticas e o ssh não funcionará se você não as tiver direito.
ssh -i
para uma chave privada para um processo não privilegiado é como lido com mais do que alguns processos automatizados de backup rsync. :)
users
ouuser's
Não há informações do usuário nas chaves SSH .
O último campo de uma chave pública é um comentário (e pode ser alterado executando o seguinte comando ssh-keygen -C newcomment
).
Não é necessário fazer nada de especial para criar uma chave para outro usuário, basta colocá-la no local certo e definir permissões.
Torne-se o usuário usando su e execute a chave como esse usuário:
[root@kvm0001 ~]# su - joeuser
[joeuser@kvm0001 ~]$ ssh-keygen -t dsa (or rsa1 or rsa, depending on your security requirements)
Generating public/private dsa key pair.
Enter file in which to save the key (/home/joeuser/.ssh/id_dsa):
joeuser
é um usuário do serviço, portanto, não consigo fazer login como eles. Como permito que um usuário de serviço (que apenas executa processos) tenha uma chave ssh?