Como configurar o cliente ssh para usar chaves privadas automaticamente


10

Estou sempre executando ssho -iparâmetro e é um incômodo digitar sempre a chave correta para qualquer host ao qual estou me conectando.

Existe um arquivo de configuração ou algo (no Mac) para definir qual chave privada usar ao conectar-se a um host específico?

Respostas:


12

Sim, você deseja criar um ~/.ssh/configarquivo. Isso permite definir um nome de atalho para um host, o nome de usuário ao qual você deseja se conectar e qual chave usar. Aqui está uma parte minha, com nomes de host ofuscados:

Guias do host
     HostName tabs.com
     Usuário me
     Arquivo de identidade ~ / .ssh / new_rsa

Host scm.company.com
     Limite de usuário
     Arquivo de identidade ~ / .ssh / git_rsa

Organizar o estadiamento do projeto
     HostName 50.56.101.167
     Usuário me
     Arquivo de identidade ~ / .ssh / new_rsa

Com isso eu posso dizer, ssh tabse me conectar ao host tabs.com como usuário me, com chave new_rsa, como se eu tivesse usado ssh me@tabs.com -i ~/.ssh/new_rsa.


Também é um bom caminho a percorrer, se você não quiser usá-lo ssh-agentpor qualquer motivo.
precisa saber é o seguinte

Eu não sabia que isso era possível. +1
Safado

2

Os clientes SSH normalmente usam ~/.ssh/identity(ssh v1) ou um dos ( ~/.ssh/id_rsaou ~/.ssh/id_dsav2) como a chave privada padrão. Você pode alterar isso em ~/.ssh/config(o IdentityFileparâmetro - a -iopção para SSH realmente substitui isso. Consulte man ssh_configpara obter detalhes).

Se você tiver várias chaves privadas para lidar com o uso, ssh-agentprovavelmente é uma escolha melhor.
Veja man ssh-agentpara mais detalhes.


+1 para descrever os padrões e citar a página de manual.
Pjmorse

0

Se você usar chaves diferentes para servidores diferentes, não acho que exista.

Se você usar uma única chave para todos os servidores, salve-a como ~/.ssh/id_rsa, ela será usada automaticamente.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.