Como acesso minha chave pública SSH?

611

Acabei de gerar meu par de chaves RSA e queria adicionar essa chave ao GitHub.

Eu tentei cd id_rsa.pube id_rsa.pub, mas sem sorte. Como posso acessar minha chave pública SSH?

sscirrus
fonte
3
@kenorb Você quer dizer que Q é uma duplicata disso? Esta pergunta foi feita dois anos antes. :)
sscirrus
Sim, o outro parece estar melhor posicionado (com base na redação etc.), tem mais visualizações e votos em um período mais curto, o que indica que é muito mais popular. Veja: Devo votar para fechar uma pergunta duplicada, mesmo que seja muito mais nova, e tenha respostas mais atualizadas? Uma vez duplicadas, as duas respostas podem ser mescladas em uma.
Kenorb # 03/04
6
pbcopy < ~/.ssh/id_rsa.pubtrabalhou para mim! Confira este artigo do GitHub
Connor Leech

Respostas:

1013

cat ~/.ssh/id_rsa.pub ou cat ~/.ssh/id_dsa.pub

Você pode listar todas as chaves públicas que você possui, fazendo:

$ ls ~/.ssh/*.pub

Mitch Dempsey
fonte
9
Embora eu veja o arquivo no local ao qual ele está se referindo (C: /Users/Me/.ssh/.id_rsa.pub), esses comandos estão produzindo um erro: Não existe esse arquivo ou diretório. Estou fazendo isso a partir de Git Bash, MyPC ~ / .ssh
sscirrus
2
@sscirrus: No Windows, você pode usar o typecomando. Ou simplesmente abra o arquivo .pub no bloco de notas e cole-o no github.
Peter Štibraný
Muito obrigado Peter, pela resposta e pela edição. Faça uma resposta e eu aceito :) :)
sscirrus
3
@sscirrus: aceitar este ... ele funciona bem (em Unix ou cygwin)
Peter Štibraný
32
no Mac OS X:cat ~/.ssh/id_rsa.pub
karlingen
195

Copie a chave para sua área de transferência.

$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

Aviso: é importante copiar a chave exatamente sem adicionar novas linhas ou espaços em branco. Felizmente, o comando pbcopy facilita a execução perfeita dessa configuração.

E você pode colá-lo onde precisar.

Para ter uma idéia melhor de todo o processo, verifique o seguinte: Gerando chaves SSH .

D_D
fonte
6
sudo apt-get install xclip -ypara os usuários que não têm pbcopytrabalho.
suarsenegger
4
sudo apt-get install -y xclipseguido por alias pbcopy="xclip -sel clip"e, em seguida, pbcopy < ~/.ssh/id_rsa.pubou simplesmentexclip -selection clipboard < ~/.ssh/id_rsa.pub
gebbissimo
47

Você pode tentar executar o seguinte comando para mostrar sua impressão digital RSA:

ssh-agent sh -c 'ssh-add; ssh-add -l'

ou chave pública:

ssh-agent sh -c 'ssh-add; ssh-add -L'

Se você tiver a mensagem: 'O agente não tem identidades.', Será necessário gerar sua chave RSA ssh-keygenprimeiro.

kenorb
fonte
1
Isso é bom para quando você não conhece o caminho da chave de antemão. Nem sempre está dentro ~/.ssh/.
Rudolfbyker
Tentei, funciona no Mac, Win10 (no git bash) e Ubuntu.
Filip Haglund
Usar ssh-add -Lé de longe a melhor opção, pois nem todas as chaves SSH são chaves RSA na ~/.sshpasta. Eu prefiro usar minha chave PGP para autenticação e, portanto, não tenho um ~/.ssh/id_rsa.pubarquivo.
steinybot
30

Se você estiver no Windows, use o seguinte, selecione tudo e copie em uma janela do Bloco de notas:

notepad ~/.ssh/id_rsa.pub  

Se você estiver no OS X, use:

pbcopy < ~/.ssh/id_rsa.pub
nsuinteger
fonte
17

Aqui está como eu encontrei o meu no OS X:

  1. Abra um terminal
  2. (Você está no diretório inicial) cd .ssh(um diretório oculto)
  3. pbcopy <id_rsa.pub (copia para a área de transferência)

Se isso não funcionar, faça um lse veja quais arquivos estão lá com uma .pubextensão.

Marca
fonte
10

Depois de gerar sua chave SSH, você pode:

cat .ssh/id_rsa.pub |pbcopy

que copiará sua chave ssh na sua área de transferência.

Brett
fonte
9

No terminal cat ~/.ssh/id_rsa.pub

explicação

  1. cat é um utilitário Unix padrão que lê arquivos e imprime resultados
  2. ~ O caminho do seu usuário doméstico
  3. /.ssh - seu diretório oculto contém todos os seus certificados ssh
  4. id_rsa.pub OU id_dsa.pub são chaves públicas RSA, (a chave privada localizada na máquina cliente). a chave primária, por exemplo, pode ser usada para ativar o projeto de clonagem do repositório remoto com segurança para o ponto final do cliente.
avivamg
fonte
8

Se você estiver usando o Windows PowerShell, a maneira mais fácil é:

cat ~/.ssh/id_<key-type-here>.pub | clip

Isso copiará a chave da sua área de transferência para facilitar a colagem.

Portanto, no meu exemplo, eu uso o ed25519, já que o RSA agora é razoavelmente hackável:

cat ~/.ssh/id_ed25519.pub | clip

Como me vejo fazendo muito isso, criei uma função e defina um alias simples que eu poderia lembrar no meu perfil do PowerShell (saiba mais sobre os perfis do PowerShell aqui . Basta adicionar isso ao seu Microsoft.PowerShell_profile.ps1:

function Copy-SSHKey {
    Get-Content ~/.ssh/id_ed25519.pub | clip
}

Set_Alias -Name sshkey -Value Copy-SSHKey

Em um console do PowerShell, execute . $profilepara carregar as funções. Então, a partir de agora, tudo o que você precisará fazer é executar sshkeye colar a chave em qualquer lugar que precisar, através da área de transferência.

Riley Taylor
fonte
7

Abra seu arquivo id_dsa.pub ou some_name.pub com o gedit e copie e cole o conteúdo!

Apenas use:

~/.ssh$ gedit some_name.pub
sbdv0
fonte
Quando faço isso, está abrindo um arquivo em branco. Não está mostrando nenhum texto nele. Mas quando navego pelo gerenciador de arquivos, consigo ver o texto.
Iamprem 7/03
7

Usar:

# sudo su
# cd /home/user/.ssh
.ssh# gedit id_rsa.pub

Em seguida, copie o arquivo inteiro sem espaços. Clique no seu ícone no canto superior direito da página do GitHub, vá para configurações e adicione ssh.

Cole a cópia no espaço. Pode solicitar sua senha do GitHub. Digite. Salve .

yavorcik
fonte
7

O comando a seguir salvará a chave SSH na área de transferência. Você só precisa colar no local desejado.

cat ~/.ssh/id_rsa.pub | pbcopy
Prabhat Kasera
fonte
Esta é a minha maneira favorita.
Iamkeir #
5

Pode ser encontrado neste caminho (caminho padrão):

/Users/john/.ssh

john é o seu nome de usuário do Mac.

Spydy
fonte
5

Se você estiver usando o Windows, o comando é:

type %userprofile%\.ssh\id_rsa.pub

deve imprimir a chave (se você tiver uma). Você deve copiar o resultado inteiro. Se nenhum estiver presente, faça:

ssh-keygen -t rsa -C "[email protected]" -b 4096

Jghayes525
fonte
3

Terminal aberto nano ~ / .ssh / id_rsa.pub

Nick Wood
fonte
3

Em UBUNTU +18.04

         ssh-keygen -o -t rsa -b 4096 -C "[email protected]" 

Depois disso, basta copiar e colar

         cat ~/.ssh/id_rsa.pub 

ou

         cat ~/.ssh/id_dsa.pub
Shabeer Sha
fonte
2

Em um Mac, você pode fazer isso para copiá-lo para a área de transferência (como cmd + catalho)
cat ~/Desktop/ded.html | pbcopy
pbcopy < ~/.ssh/id_rsa.pub

e colar pbpaste > ~Documents/id_rsa.txt

ou use o cmd + vatalho para colá-lo em outro lugar.

~/.sshé o mesmo caminho que /Users/macbook-username/.ssh
Você pode usar o pwdcomando Imprimir diretório de trabalho: no terminal para obter o caminho para o diretório atual.

Jun711
fonte
1

Eu uso o Git Bash no meu Windows.

$ eval $ (ssh-agent -s) // ativa a conexão

  • alguma saída

$ ssh-add ~ / .ssh / id_rsa // adiciona a identidade

  • alguma outra saída

$ clip <~ / .ssh / id_rsa.pub // ESTE É O IMPORTANTE. Isso adiciona sua chave à sua área de transferência. Volte ao GitHub e cole-o, e pronto! Você deve estar pronto para ir.

JW
fonte
0

No Mac / unix e Windows:

ssh-keygensiga as instruções. Ele solicitará um nome para o arquivo (digamos que você o chame de pubkey, por exemplo). Imediatamente, você deverá ter sua impressão digital da chave e a imagem randomart da sua chave visíveis para você.

Em seguida, basta usar o seu editor de texto favorito e digite o comando vim pubkey.pube ele (sua chave ssh-rsa) deve estar lá.

Substitua o vim pelo emacs ou qualquer outro editor que você tenha / prefere.

sawreals
fonte