Assumo que o OpenSSH padrão está disponível no seu Mac; Se você estiver usando um programa bonito de GUI, isso pode não funcionar. Eu também suponho que você recebeu uma chave padrão OpenSSH. (As chaves comerciais ssh.com podem ser formatadas de forma diferente; pelo menos há uma década, quando usei pela última vez um provedor que ainda usava o SSH comercial.)
Talvez você já tenha uma chave privada; verifique ls -l ~/.ssh/id_*
para ver se você já tem uma chave privada instalada. Se você fizer isso (e quiser manter essa chave), terá mais trabalho a fazer.
Se você ainda não tiver uma chave privada, dê uma olhada na primeira linha do arquivo. Será algo parecido com isto:
-----BEGIN RSA PRIVATE KEY-----
Se ele diz RSA
, como o meu, armazene o arquivo em ~/.ssh/id_rsa
. Se ele diz DSA
, armazene-o em ~/.ssh/id_dsa
.
Se o diretório ~/.ssh
ainda não existir, crie-o:
mkdir ~/.ssh
chmod 700 ~/.ssh
O chmod 700
é importante - ssh
é exigente quanto às permissões: se até mesmo a gravação em grupo estiver disponível, você poderá ter problemas.
Eu não sei a maneira mais fácil de armazenar o arquivo. Se você tiver um arquivo autônomo (anexo de e-mail, download de site, etc.), basta mover o arquivo para o lugar:
mv Path/to/the/file ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
O chmod 600
é importante - ssh
é exigente quanto às permissões: se até a leitura do grupo estiver disponível, você poderá ter problemas. Eu não estou brincando - passei a maior parte da minha vida depurando problemas de conexão que foram checados em ssh
. Você poderia torná-lo 400
e impedir-se de sobrescrevê-lo, mas o meu é 600
sem conseqüências ruins.
Se você tiver o arquivo copiado e colado em um texto de e-mail ou texto de uma página da Web, precisará usar um editor de texto de algum tipo para salvá-lo, copiando e colando o texto em si. (Não use o Word. BBEdit ou TextMate ou .. qualquer que seja a Apple chama seu editor de texto simples .. funcionaria.)
Agora teste:
ssh hostname
por exemplo:
$ ssh haig
Enter passphrase for key '/home/sarnold/.ssh/id_rsa':
Se você precisar dar um nome de usuário também:
ssh username@hostname
A parte importante é o para a chave - se ele apenas pedir uma senha, provavelmente é uma senha para o endpoint remoto, e isso não funcionará. Se ele pedir a frase secreta para a chave, você está correndo.
Se você já tiver uma chave privada que deseja continuar usando, armazene o arquivo em outra coisa; por exemplo. ~/.ssh/id_rsa_for_mithra
e, em seguida, adicione uma nova entrada Host
em um arquivo de configuração ~/.ssh/config
:
host mithra
IdentityFile ~/.ssh/id_rsa_for_mithra
Aqui, assumi que o nome do host é mithra
. Use o nome ou o endereço IP que você recebeu.
O arquivo ~/.ssh/config
também pode ser usado para especificar um nome de usuário por host, se você quiser evitar dar a ele na linha de comando o tempo todo.
E a nota final: a maioria dos usuários de ssh
usa o ssh-agent
para armazenar uma versão descriptografada de sua chave privada em vez de redigitar a frase secreta para desbloqueá-la o tempo todo. Eu entendo que um agente ssh está integrado no OS X atualmente - valeria a pena investigar como usar isto. Talvez seja tão simples quanto executar ssh-add
primeiro. (Eu gosto de ssh-add -t 3600
, então a chave funciona por uma hora antes que a versão descriptografada seja descartada. Isso ajuda a proteger o material de chave um pouco se eu sair da minha estação de trabalho sem precisar executar ssh-add -D
quando eu sair.) / p>