Quando eu SSH no OS X, não tenho meu chaveiro. Quando uso o Terminal, faço

12

Passos

  1. Abra o PuTTY na área de trabalho do Windows.
  2. SSH no meu MacBook Pro.
  3. cd para um clone do github
  4. $ git push

Esperado

Everything up-to-date

Real

Enter passphrase for key '/Users/whit537/.ssh/github':

Notas

  • A chave do github está listada em Acesso às Chaves.
  • Eu posso mostrar sua senha no Acesso às Chaves.
  • Eu posso usar essa senha com sucesso no prompt do PuTTY.
  • Eu recebo o resultado esperado em uma janela do Terminal no MacBook.
  • uname -a: Darwin chad.whitacre 10.7.0 Darwin Kernel versão 10.7.0: sáb 29 de janeiro 15:17:16 PST 2011; raiz: xnu-1504.9.37 ~ 1 / RELEASE_I386 i386

Atualizações

12-04-2011: Descobri a securityferramenta por meio de uma pergunta na barra lateral Relacionada (não a notei na lista de respostas possíveis ao postar). Tentei correr, security unlock-keychainmas obtive o mesmo resultado. Parece que deveria haver alguma maneira de fazer isso. Na verdade, existem duas chaves em questão, e são senhas longas, não senhas curtas, e eu preciso delas com frequência durante o dia. Então, eu tenho algum incentivo para chegar ao fundo disso.

13-04-2011: Isso parece promissor . Eu vejo o /tmp/launch-*****/Listenersarquivo no MacBook. Da próxima vez que estiver no PC, tentarei definir SSH_AUTH_SOCKna minha sessão PuTTY. Se isso funcionar uma vez, verei um .profilegancho para descobrir a sessão de inicialização atual automaticamente.

whit537
fonte

Respostas:

18

Você deve conseguir desbloquear seu chaveiro no Terminal da seguinte maneira:

security unlock-keychain -p <YourPassword> ~/Library/Keychains/login.keychain

Se você não deseja que a senha seja solicitada, você pode armazenar a senha em um arquivo e executar o comando da seguinte maneira:

security unlock-keychain -p `cat ~/.file_with_your_password` ~/Library/Keychains/login.keychain

Observe que o armazenamento da senha do seu chaveiro em um arquivo tem algumas desvantagens relacionadas à segurança, como você pode imaginar, para decidir por si mesmo se essa é uma opção para você.

Eu espero que isso ajude

Besi
fonte
3
"some", de fato, não colocar a senha para acessar seu chaveiro em texto sem formatação em um arquivo meio que torna tudo inútil ...? Então você também pode ter o material protegido no chaveiro em texto simples também?
tml 12/12/12
... então siga com esta resposta
techraf
3

Seu chaveiro está vinculado ao login gráfico do OS X. Quando você faz login no computador localmente, ele abre o chaveiro. O terminal, com o bash executando dentro dele, está ciente do seu chaveiro.

Quando você efetua login remotamente através do PuTTY, seu porta-chaves não é aberto e o PuTTY e o bash não sabem disso - mesmo se você estiver conectado localmente também. O link entre eles simplesmente não está lá.

Sinto muito, mas quando você faz login no PuTTY, fica sem precisar digitar a senha.

Isto é, a menos que alguém que conheça os componentes internos do sistema de chaves do OS X possa criar uma maneira de colocar esse link manualmente na sua sessão conectada ao PuTTY, mas isso, na minha opinião, provavelmente é mais trabalhoso do que digitar uma senha uma vez em um enquanto.

Majenko
fonte
1
Como são longas frases secretas para algumas chaves que uso com freqüência, tenho incentivos para descobrir o mecanismo de vinculação de que você fala.
whit537
2

Como descrevo nesta resposta , você também precisa executar

eval `ssh-agent -s`

além de desbloquear o chaveiro.

orkoden
fonte