Como gerar o arquivo .sem Openssl e onde devemos colocá-lo

13

Quero gerar um .pemarquivo OpenSSL para permitir o logon remoto via ssh usando o .pemarquivo no local da senha.

Sou capaz de gerar chaves .crte .pemarquivos usando os seguintes

sudo openssl genrsa -des3 -out server.key 2048
openssl req -new -key server.key -out server.csr
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
openssl x509 -inform DER -outform PEM -in server.crt -out server.crt.pem

Mas o problema é que onde eu tenho que colocá-lo no lado do servidor ou quais alterações eu tenho que fazer no /etc/ssh/sshd_configarquivo para permitir o login remoto via ssh usando o .pemarquivo.

Quero que esse cliente conecte minha máquina da seguinte maneira.

ssh -i server_crt.pem username@my_ip

O que muda exatamente eu tenho que fazer para a implementação.

obrigado

Farman Ali
fonte

Respostas:

18

Primeiro, você precisa fazer upload da chave pública no servidor ao qual deseja se conectar, a chave pública está no arquivo .pub:

Exemplo:

# ssh-copy-id -i ~/my-certificate.pub [email protected]

Depois disso, ele deverá estar funcionando e você poderá fazer login usando:

$ sudo ssh -i ~/my-certificate.pem [email protected]

As alterações são feitas no arquivo ~ / .ssh / allowed_keys na máquina do servidor, aberto com um editor de texto como o nano, você verá linhas começando com algo como: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAX ...

Pessoalmente, giro o arquivo de chave usando $ ssh-keygen -t rsa -b 2048 -v, que gera o arquivo .pem e pub. Quando você for perguntado:

Digite o arquivo no qual salvar a chave (/home/user/.ssh/id_rsa):

insira o nome do arquivo .pem, por exemplo: my-certificate.pem

Passo a passo da geração da chave para o login:

  1. Gere a chave com $ ssh-keygen -t rsa -b 2048 -ve quando solicitado a inserir o arquivo no qual deseja salvar a chave, digite my-certificatee quando solicitado a inserir a senha, pressione Enter (senha vazia) e confirme com Enter.
  2. Você obterá dois arquivos gerados, um será meu certificado e um será meu certificado. certificate.pem
  3. Faça o upload do certificado público para o servidor: ssh-copy-id -i ~/my-certificate.pub username@ip
  4. Tornar arquivo .pem no seu computador somente leitura sudo chmod 400 my-certificate.pem
  5. Entrar com $ sudo ssh -i /path/to/my-certificate.pem user@ip
Mike
fonte
1
Afinal, eu estou recebendo o erro 'Permissão negada (publickey)' e não consigo conectar
Farman Ali
Olá, por motivos de segurança, o arquivo .pem não deve ser gravável, use o sudo chmod 400 my-certificate.pem na sua máquina e tente novamente.
67715 Mike
Oi, eu mudei para 400. Mas o problema continua o mesmo. Você poderia explicar passo a passo todo o trabalho, desde a geração de uma chave até a conexão com o cliente.
Farman Ali
A mudança de nome deve ser feito após ssh-copy-id porque olha para o meu em certificado arquivo
coolscitist