404 Not Found


nginx
{"id":9363,"date":"2015-11-27T11:57:02","date_gmt":"2015-11-27T13:57:02","guid":{"rendered":"https:\/\/cleuber.com.br\/?p=9363"},"modified":"2015-12-16T16:34:44","modified_gmt":"2015-12-16T18:34:44","slug":"autorizando-acesso-ssh-com-chaves-sem-solicitar-senha","status":"publish","type":"post","link":"https:\/\/cleuber.com.br\/index.php\/2015\/11\/27\/autorizando-acesso-ssh-com-chaves-sem-solicitar-senha","title":{"rendered":"Autorizando Acesso SSH Com Chaves – Sem Solicitar Senha"},"content":{"rendered":"

Ol\u00e1 pessoal,<\/p>\n

Hoje, por causa de uma necessidade muito espec\u00edfica, resolvi postar uma forma de credenciar nas configura\u00e7\u00f5es ssh de um servidor, para que um client\u00a0o acesse,\u00a0sem que\u00a0senha seja solicitada, para que, por exemplo, scripts de backup possam transferir dados via ssh, sem problemas.<\/p>\n

Voc\u00ea pode at\u00e9 pensar que isso pode ser inseguro, mas n\u00e3o \u00e9, pois na verdade o acesso via SSH ser\u00e1 realizado atrav\u00e9s da leitura de chave p\u00fablica e privada, estabelecendo uma confian\u00e7a entre o servidor e o cliente, permitindo o acesso somente quando validadas as chaves.<\/p>\n

1 – Gerando as chaves<\/h4>\n

Vamos usar o comando ssh-keygen no servidor de origem<\/strong> para fazer isso:<\/p>\n

$ ssh-keygen -t rsa -C \"Minha_Chave_SSH\"\r\nEnter passphrase: \r\nEnter same passphrase again:<\/pre>\n

Ele ir\u00e1 pedir para confirmar o caminho, ent\u00e3o aperte “Enter” para o padr\u00e3o. E em seguida ele lhe pedir\u00e1 a senha, n\u00e3o digite nada, aperte apenas a tecla “Enter” nas duas vezes.<\/p>\n

Par\u00e2metros que usamos:<\/p>\n

-t -> Especifica o tipo de chave, no nosso caso uma chave RSA<\/em><\/p>\n

-C -> Coment\u00e1rio da chave<\/em><\/p>\n

A sa\u00edda do comando dever\u00e1 se parecer com isso:<\/p>\n

\"ssh-keygen\"<\/a><\/p>\n

Ser\u00e3o gerados dois arquivos, id_rsa <\/em>(Chave Privada)\u00a0eid_rsa.pub\u00a0<\/em>(Chave P\u00fablica).
\nVoc\u00ea poder\u00e1 chec\u00e1-los:<\/p>\n

ls ~\/.ssh\r\nid_rsa<\/span> \u00a0id_rsa.pub<\/span> \u00a0known_hosts<\/pre>\n

2 – Copiando a chave p\u00fablica para o servidor<\/h4>\n

Agora vamos enviar a chave p\u00fablica para o servidor destino<\/strong>\u00a0com o comando scp<\/strong>:<\/p>\n

cd ~\/.ssh\/<\/pre>\n
scp id_rsa.pub cleuber@ip-do-servidor:\/home\/cleuber\/.ssh\/<\/pre>\n

Pronto copiada!<\/p>\n

3 –\u00a0Checando se a chave p\u00fablica foi transferida<\/h4>\n

Vamos fazer um acesso ssh (ainda com senha por enquanto) para checar a chave p\u00fablica<\/p>\n

ssh cleuber@ip-do-servidor<\/pre>\n

Agora estamos logados remotamente no servidor, cheque com o mesmo comando.<\/p>\n

ls ~\/.ssh\r\nid_rsa.pub<\/span> \u00a0known_hosts<\/pre>\n

4 – Criando o arquivo\u00a0“authorized_keys” com o conte\u00fado da chave p\u00fablica nele.<\/h4>\n

Para fazer isso, voc\u00ea precisa continuar logado no servidor remoto, e usaremos o seguinte comando:<\/p>\n

cat id_rsa.pub >\u00a0authorized_keys<\/pre>\n

5 – Editando as configura\u00e7\u00f5es do Servi\u00e7o SSH<\/h4>\n

Ainda n\u00e3o acabamos, vamos agora configurar o SSH do servidor para aceitar autentica\u00e7\u00e3o baseado em chave.<\/p>\n

Voc\u00ea pode usar seu editor de texto favorito. Eu aqui usarei o nano.<\/p>\n

sudo nano \/etc\/ssh\/sshd_config<\/pre>\n

Obs. Se voc\u00ea precisar configurar isso no\u00a0HP-UX que usa o Unix, o arquivo de configura\u00e7\u00e3o atrav\u00e9s\u00a0do caminho \/opt\/ssh\/etc\/sshd_config.<\/em><\/p>\n

Verifique se\u00a0as seguintes n\u00e3o est\u00e3o comentadas, ou seja, com um s\u00edmbolo “#”\u00a0no in\u00edcio delas, e com o “yes”, na primeira linha, conforme abaixo.<\/p>\n

PubkeyAuthentication yes\r\nAuthorizedKeysFile %h\/.ssh\/authorized_keys<\/pre>\n

\"sshd-services\"<\/a><\/p>\n

Como estou usando o nano, salvei com “Ctrl+O” e sa\u00ed com o “Ctrl+x”<\/p>\n

Obs. Opcional<\/strong><\/p>\n

Existem restri\u00e7\u00f5es de seguran\u00e7a para que isso funcione, caso as permiss\u00f5es de arquivo requeridas no campo\u00a0“StrictModes\"<\/tt>\u00a0estiver habilitado e com o “yes”<\/strong>.
\nNo exemplo abaixo, por padr\u00e3o o StrictModes est\u00e1 comentado com “#” ent\u00e3o est\u00e1 desabilitado.<\/p>\n

\"ssh-strictmode\"<\/a><\/p>\n

Caso isso esteja habilitado (sem o “#” e com o “yes”),voc\u00ea precisar\u00e1 se certificar que a pasta .ssh tenha a permiss\u00e3o 700, e o arquivo id_rsa esteja com 600, no servidor e no client.<\/p>\n

Se precisar, ent\u00e3o, fa\u00e7a isso nos dois lados (no cliente e no servidor)<\/p>\n

$ chmod 700 ~\/.ssh\r\n<\/span>$ chmod 600 ~\/.ssh\/id_rsa<\/pre>\n

6 – Reinicie o servi\u00e7o do SSH<\/h4>\n

Agora, ainda logado no servidor destino, reinicie o servi\u00e7o SSH.
\nO comando pode variar dependendo do seu Linux<\/p>\n

sudo \/etc\/init.d\/ssh restart\r\nsudo service sshd restart<\/pre>\n

Obs.\u00a0Se voc\u00ea estiver usando o HP-UX, reinicie o servi\u00e7o do SSH com os seguintes comandos:<\/p>\n

Parar<\/strong><\/p>\n

# \/sbin\/init.d\/secsh stop<\/code><\/pre>\n

Iniciar<\/strong><\/p>\n

# \/sbin\/init.d\/secsh start<\/pre>\n

7 – Teste o acesso SSH sem senha<\/h4>\n

Agora, a hora da verdade… \u00a0Fa\u00e7a logoff do acesso ssh que est\u00e1 fazendo em seu servidor remoto e login novamente.<\/p>\n

ssh cleuber@ip-do-servidor<\/pre>\n

Se voc\u00ea fez tudo certo, desta vez n\u00e3o ir\u00e1 pedir-lhe senha.<\/strong><\/p>\n

 <\/p>\n

\u00c9 isso a\u00ed pessoal,<\/p>\n

Cleuber<\/p>\n","protected":false},"excerpt":{"rendered":"

Ol\u00e1 pessoal, Hoje, por causa de uma necessidade muito espec\u00edfica, resolvi postar uma forma de credenciar nas configura\u00e7\u00f5es ssh de um servidor, para que um client\u00a0o acesse,\u00a0sem que\u00a0senha seja solicitada, para que, por exemplo, scripts de backup possam transferir dados via ssh, sem problemas. Voc\u00ea pode at\u00e9 pensar que isso pode ser inseguro, mas n\u00e3o …<\/p>\n","protected":false},"author":1,"featured_media":7165,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"nf_dc_page":"","_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[51,4,348],"tags":[505,504,502,365,503],"class_list":["post-9363","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dicas-e-tutoriais","category-tutoriais-linux","category-servidores-linux","tag-chave-privada","tag-chave-publica","tag-senha","tag-ssh","tag-ssh-sem-senha"],"_links":{"self":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/9363","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=9363"}],"version-history":[{"count":0,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/posts\/9363\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media\/7165"}],"wp:attachment":[{"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=9363"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=9363"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cleuber.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=9363"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}