it-swarm-pt.tech

Definindo o local padrão da chave ssh

o ssh procurará suas chaves por padrão na pasta ~/.ssh. Quero forçá-lo a sempre procurar em outro local.

A solução alternativa que estou usando é adicionar as chaves do local não padrão ao agente:

ssh-agent
ssh-add /path/to/where/keys/really/are/id_rsa 

(no Linux e MingW32 Shell no Windows)

53
tardate

Se você estiver procurando apenas apontar para um local diferente para o seu arquivo de identidade, poderá modificar seu arquivo ~/.ssh/config com a seguinte entrada:

IdentityFile ~/.foo/identity

man ssh_config para encontrar outras opções de configuração.

80
Drew Frezell

man ssh me dá essas opções que poderiam ser úteis.

-i identity_file Seleciona um arquivo do qual a identidade (chave privada) para autenticação RSA ou DSA é lida. O padrão é ~/.ssh/identity para a versão 1 do protocolo e ~/.ssh/id_rsa e ~/.ssh/id_dsa para a versão 2. do protocolo 2. Arquivos de identidade também podem ser especificados por host na configuração Arquivo. É possível ter várias opções -i (e várias identidades especificadas nos arquivos de configuração).

Então você pode criar um alias na sua configuração do bash com algo como

alias ssh = "ssh -i/caminho/para/chave_privada"

Eu não procurei em um arquivo de configuração ssh, mas como o -i opção isso também pode ser um alias

-F configfile Especifica um arquivo de configuração alternativo por usuário. Se um arquivo de configuração for fornecido na linha de comando, o arquivo de configuração em todo o sistema (/ etc/ssh/ssh_config) será ignorado. O padrão para o arquivo de configuração por usuário é ~/.ssh/config.

19
roo