{"id":23622,"date":"2017-03-22T20:44:03","date_gmt":"2017-03-22T23:44:03","guid":{"rendered":"https:\/\/blog.locaweb.com.br\/?p=23622"},"modified":"2022-08-31T16:50:05","modified_gmt":"2022-08-31T19:50:05","slug":"gerenciando-multiplas-chaves-ssh-no-linux","status":"publish","type":"post","link":"https:\/\/www.locaweb.com.br\/blog\/temas\/codigo-aberto\/gerenciando-multiplas-chaves-ssh-no-linux\/","title":{"rendered":"Gerenciando m\u00faltiplas chaves SSH no Linux"},"content":{"rendered":"<p>Quem trabalha com desenvolvimento web provavelmente j\u00e1 deve ter ficado louco em algum momento com tantas chaves SSH para gerenciar. \u00c9 chave para <em>Github<\/em>, chave para servidor de teste, chave para servidor de produ\u00e7\u00e3o\u2026 O SSH config \u00e9 uma m\u00e3o na roda nessas horas.<\/p>\n<p><strong>Alias<\/strong><\/p>\n<p>Quando eu comecei a trabalhar com SSH, tinha apenas duas chaves para gerenciar eeu simplesmente chamava assim:<\/p>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\n$ ssh -i ~\/.ssh\/chave_privada usuario@servidor<br \/>\n[\/sourcecode]<\/p>\n<p>O problema com esse comando \u00e9 que s\u00e3o muitas coisas pra digitar e \u00e9 muito f\u00e1cil de esquec\u00ea-las. Foi ent\u00e3o que algu\u00e9m me falou: \u201c- <em>Ei! Usa um Alias no Shell e para de sofrer\u2026<\/em>\u201d. Como faz isso? Voc\u00ea precisa abrir seu <em>.bashrc<\/em> e adicionar o seguinte:<\/p>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\nalias ssh_server1=\u2019ssh -i ~\/.ssh\/chave_privada usuario@servidor\u2019<br \/>\n[\/sourcecode]<\/p>\n<p>Agora, sempre que eu quiser acessar o servidor em quest\u00e3o, abro o meu terminal e digito<\/p>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\n$ ssh_server1<br \/>\n[\/sourcecode]<\/p>\n<p><strong>Config file<\/strong><\/p>\n<p>Eu costumo ser bem chato com organiza\u00e7\u00e3o. Hoje tenho cerca de cinco chaves para gerenciar e utilizar Alias para todas n\u00e3o parecia ser o mais legal. Na verdade, estava bem feio. Foi a\u00ed que descobri que o pr\u00f3prio <em>open-ssh<\/em> disponibiliza um arquivo de configura\u00e7\u00e3o para gerenciar as chaves.<\/p>\n<p>Veja como \u00e9 f\u00e1cil converter o exemplo anterior para o arquivo de configura\u00e7\u00f5es:<\/p>\n<ul>\n<li>O primeiro passo \u00e9 acessar o diret\u00f3rio <em>~\/.ssh<\/em> e criar o arquivo <em>config<\/em>:<\/li>\n<\/ul>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\n$ cd ~\/.ssh<br \/>\n$ touch config<br \/>\n[\/sourcecode]<\/p>\n<ul>\n<li>Agora voc\u00ea deve definir os par\u00e2metros de sua conex\u00e3o ssh:<\/li>\n<\/ul>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\nHost server1<br \/>\nUser usuario<br \/>\nHostName server1.com<br \/>\nIdentityFile ~\/.ssh\/chave_privada_do_server1<br \/>\n[\/sourcecode]<\/p>\n<p>Agora, para acessar o server1 por ssh, rode o comando:<\/p>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\n$ ssh server1<br \/>\n[\/sourcecode]<\/p>\n<p>Simples assim!<\/p>\n<p>Voc\u00ea tamb\u00e9m pode gerenciar as chaves utilizadas em reposit\u00f3rios <em>GIT<\/em>. Digamos que o seu reposit\u00f3rio esteja hospedado sob o endere\u00e7o <em>repositorios.com<\/em>. Ent\u00e3o, ao inv\u00e9s de utilizar o <em>ssh-agent<\/em> para configurar a chave privada a ser utilizada, voc\u00ea pode criar uma nova entrada no arquivo de configura\u00e7\u00e3o <em>~\/.ssh\/config<\/em><\/p>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\nHost repos<br \/>\nHostName repositorios.com<br \/>\nIdentityFile ~\/.ssh\/chave_privada_do_reposit\u00f3rio<br \/>\nIdentitiesOnly yes<br \/>\n[\/sourcecode]<\/p>\n<p>e utilizar o seguinte comando para clonar o reposit\u00f3rio<\/p>\n<p>[sourcecode language=&#8221;bash&#8221;]<br \/>\n$ git clone git@repos:seu_repositorio.git<br \/>\n[\/sourcecode]<\/p>\n<p>O <em>IdentitiesOnly yes<\/em> serve para dar prioridade \u00e0 chave privada definida em <em>IdentityFile<\/em>. Sem essa op\u00e7\u00e3o, a primeira tentativa de chave a ser utilizada seria a chave <em>id_rsa<\/em><\/p>\n<p>Essa dica \u00e9 bem simples e vai ajudar bastante na organiza\u00e7\u00e3o de suas chaves. Outras dicas podem ser encontradas na documenta\u00e7\u00e3o oficial do <em>open-ssh<\/em>, ou aqui no blog em um pr\u00f3ximo post!<\/p>\n<p>At\u00e9 a pr\u00f3xima!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quem trabalha com desenvolvimento web provavelmente j\u00e1 deve ter ficado louco em algum momento com tantas chaves SSH para gerenciar. \u00c9 chave para Github, chave para servidor de teste, chave para servidor de produ\u00e7\u00e3o\u2026 O SSH config \u00e9 uma m\u00e3o na roda nessas horas. Alias Quando eu comecei a trabalhar com SSH, tinha apenas duas [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":23644,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-23622","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-codigo-aberto"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/23622","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/comments?post=23622"}],"version-history":[{"count":1,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/23622\/revisions"}],"predecessor-version":[{"id":36487,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/posts\/23622\/revisions\/36487"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media\/23644"}],"wp:attachment":[{"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/media?parent=23622"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/categories?post=23622"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.locaweb.com.br\/blog\/wp-json\/wp\/v2\/tags?post=23622"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}