Usando a chave ssh para conexão, mas sem a opção -i

2

Estou trabalhando com hosts serverals e não desejo especificar a senha toda vez que eu quiser conectar-me a qualquer host. Então eu criei uma chave com:

Enter file in which to save the key (/home/robe/.ssh/id_rsa): my_key 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in my_key.
Your public key has been saved in my_key.pub.
The key fingerprint is:
e6:d9:a3:85:38:b1:b2:a9:4d:3b:c1:33:65:df:57:25 robe@computer
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|              E .|
|               o |
|      o       .  |
|   . o..S.   .   |
|    =  *.+. .    |
|    o++ + +.     |
|   o.= . o .     |
|  ..=.  .        |
+-----------------+

copie o my_key.pub para o arquivo authorized_keys em todos os hosts e posso me conectar com:

ssh -i /path/to/my_key  user@host

Mas aqui está o meu problema, quero ligar sem especificar a chave. Eu gostaria de encontrar uma maneira que eu corra:

ssh user@host

Nota : Eu quero manter minhas chaves id_rsa e id_rsa.pub padrão. A chave my_key é uma opção alternativa para gerenciar outros hosts.

    
por Robert 12.01.2015 / 16:29

2 respostas

6

Você está procurando o arquivo de configuração ~/.ssh/config . Por exemplo, adicione esta entrada neste arquivo.

Host host
    HostName host.example.com
    User johndoe
    IdentityFile ~/.ssh/host.key

Agora você pode digitar

ssh host

E o ssh usará automaticamente o nome de usuário e a chave especificados pelo parâmetro IdentityFile . Portanto, esse comando é equivalente a:

ssh [email protected] -i ~/.ssh/host.key

veja link para todos os detalhes de configuração para esse arquivo.

    
por 12.01.2015 / 16:48
1

Se você está em * nix, você pode usar o ssh-agent / ssh-add para armazenar suas identidades na memória para sua sessão.

  1. Executa o ssh-agent a partir de um terminal

usuario @ maquina $ ssh-agent bash

Isso criará um processo bash com o ssh-agent em execução

Se você não quiser criar outro processo,

usuario @ maquina $ ssh-agent -s

SSH_AUTH_SOCK = / tmp / ssh-shtzxe4347 / agent.4347; exportar SSH_AUTH_SOCK; SSH_AGENT_PID = 4348; exportar SSH_AGENT_PID; Agente de eco pid 4348;

você tem que executar os comandos em negrito para atualizar suas variáveis env.

2.Após qualquer um dos passos anteriores

usuário @ machine $ ssh-add

para adicionar seu .ssh / id_rsa ao agente, se sua chave tiver uma senha, ele solicitará a ele

link link

Modern Linux Desktops tem GUI's para isso, e irá iniciar um agente desde o login.

No Windows, você pode usar o Pageant (parte do Putty) em vez do ssh-agent.

    
por 12.01.2015 / 21:16

Tags