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 o root para o usuário que eu quero?
Você pode fazer isso com ssh-keygen, no entanto, lembre-se de que a chave privada deve ser privada para o 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 será obrigado a alterá-lo no primeiro login.
ssh-keygen -f anythingcria dois arquivos no diretório atual. anything.pubé a chave pública, que você pode anexar à do usuário ~/.ssh/authorized_keysem qualquer servidor de destino.
O outro arquivo, recém 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 chamado id_rsa, que é o padrão para chaves rsa). Lembre-se de que o .sshdiretório não pode ser lido ou gravado por ninguém além do usuário, e o diretório inicial do usuário não pode ser gravado por ninguém além do usuário. Da mesma forma, as permissões também devem ser restritas na chave privada: Leitura/gravação apenas para o usuário, e o diretório .ssh e o arquivo de chave privada devem ser de propriedade do usuário.
Tecnicamente, você poderia armazenar a chave em qualquer lugar. Com ssh -i path/to/privatekeyvocê pode especificar esse local, durante a conexão. Novamente, a propriedade e as permissões adequadas são críticas e o ssh não funcionará se você não as tiver corretamente.
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):
Não há informações do usuário nas chaves SSH .
O último campo em 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 correto e definir as permissões.
Você pode fazer isso com
ssh-keygen
, no entanto, lembre-se de que a chave privada deve ser privada para o 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 será obrigado a 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 à do usuário~/.ssh/authorized_keys
em qualquer servidor de destino.O outro arquivo, recém 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 chamadoid_rsa
, que é o padrão para chaves rsa). Lembre-se de que o.ssh
diretório não pode ser lido ou gravado por ninguém além do usuário, e o diretório inicial do usuário não pode ser gravado por ninguém além do usuário. Da mesma forma, as permissões também devem ser restritas na chave privada: Leitura/gravação apenas para o usuário, e o diretório .ssh e o arquivo de chave privada devem ser de propriedade do usuário.Tecnicamente, você poderia 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 adequadas são críticas e o ssh não funcionará se você não as tiver corretamente.Torne-se o usuário usando su e execute a chave como esse usuário:
Como visto aqui , você pode usar chmod para alterar as permissões de leitura da pasta do usuário ao qual deseja adicionar a chave SSH.
Em seguida, basta colar a chave em uma nova linha na parte inferior desse arquivo