如何访问SSH公钥?

ssc*_*rus 527 git ssh rsa

我刚刚生成了我的RSA密钥对,我想将该密钥添加到GitHub.

我试过cd id_rsa.pubid_rsa.pub,但没有运气.如何访问SSH公钥?

Mit*_*sey 864

cat ~/.ssh/id_rsa.pub 要么 cat ~/.ssh/id_dsa.pub

您可以通过执行以下操作列出您拥有的所有公钥:

$ ls ~/.ssh/*.pub

  • 在Mac OS X上:`cat~/.ssh/id_rsa.pub` (28认同)
  • 即使我在它所指的位置看到该文件(C:/Users/Me/.ssh/.id_rsa.pub),这些命令也会产生错误:没有这样的文件或目录.我是从Git Bash,MyPC~/.ssh这样做的 (7认同)
  • @sscirrus:接受这一个...它也有效(在unix或cygwin下) (3认同)
  • @sscirrus:在windows中,你可以使用`type`命令.或者只需在记事本中打开.pub文件并将其粘贴到github. (2认同)

D_D*_*D_D 175

将密钥复制到剪贴板.

$ pbcopy < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard
Run Code Online (Sandbox Code Playgroud)

警告:在不添加换行符或空格的情况下完全复制密钥非常重要.值得庆幸的是,pbcopy命令可以很容易地完美地执行此设置.

您可以将它粘贴到您需要的任何地方.

要更好地了解整个过程,请检查:生成SSH密钥.

  • 对于那些没有`pbcopy`工作的用户,`sudo apt-get install xclip -y`. (5认同)
  • `sudo apt-get install -y xclip`,然后是'alias pbcopy =“ xclip -sel clip”`,然后是`pbcopy &lt;〜/ .ssh / id_rsa.pub`或只是`xclip -selection剪贴板&lt;〜/ .ssh / id_rsa.pub` (2认同)

ken*_*orb 40

您可以尝试运行以下命令来显示RSA指纹:

ssh-agent sh -c 'ssh-add; ssh-add -l'
Run Code Online (Sandbox Code Playgroud)

或公钥:

ssh-agent sh -c 'ssh-add; ssh-add -L'
Run Code Online (Sandbox Code Playgroud)

如果你有消息:'代理没有身份',那么你首先要生成你的RSA密钥ssh-keygen.

  • 当您事先不知道密钥的路径时,这很有用。它并不总是在`~/.ssh/` 中。 (3认同)
  • 使用“ssh-add -L”是迄今为止更好的选择,因为并非每个 SSH 密钥都是位于“~/.ssh”文件夹中的 RSA 密钥。我更喜欢使用 PGP 密钥进行身份验证,因此我根本没有 `~/.ssh/id_rsa.pub` 文件。 (2认同)

Tel*_*nse 30

Mac、Ubuntu、Linux 兼容机,使用此命令打印公钥,然后复制它:

$ cat ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)


nsu*_*ger 29

如果您在Windows上使用以下选项,请选择全部,然后从记事本窗口复制:

notepad ~/.ssh/id_rsa.pub  
Run Code Online (Sandbox Code Playgroud)

如果您使用的是OS X,请使用:

pbcopy < ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)


Mar*_*ark 15

这是我在OS X上找到的方法:

  1. 打开一个终端
  2. (您在主目录中)cd .ssh(隐藏目录)
  3. pbcopy <id_rsa.pub(将其复制到剪贴板)

如果这不起作用,请执行ls并查看其中包含.pub扩展名的文件.


Kon*_*eak 10

如果您只有私钥可用,则可以从中生成公钥:

ssh-keygen -y
Run Code Online (Sandbox Code Playgroud)

或者

ssh-keygen -y -f path/to/private_key
Run Code Online (Sandbox Code Playgroud)


小智 9

生成SSH密钥后,您可以执行以下操作:

cat .ssh/id_rsa.pub |pbcopy
Run Code Online (Sandbox Code Playgroud)

这会将你的ssh密钥复制到剪贴板中.


小智 9

这很简单。在计算机上生成 ssh 密钥后,您可以通过以下命令访问您的公共 ssh 密钥

 cat ~/.ssh/id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

您应该看到类似于以下内容的输出:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCyVGaw1PuEl98f4/7Kq3O9ZIvDw2OFOSXAFVqilSFNkHlefm1iMtPeqsIBp2t9cbGUf55xNDULz/bD/4BCV43yZ5lh0cUYuXALg9NI29ui7PEGReXjSpNwUD6ceN/78YOK41KAcecq+SS0bJ4b4amKZIJG3JWmDKljtv1dmSBCrTmEAQaOorxqGGBYmZS7NQumRe4lav5r6wOs8OACMANE1ejkeZsGFzJFNqvr5DuHdDL5FAudW23me3BDmrM9ifUzzjl1Jwku3bnRaCcjaxH8oTumt1a00mWci/1qUlaVFft085yvVq7KZbF2OPPbl+erDW91+EZ2FgEi+v1/CSJ5 your_username@hostname
Run Code Online (Sandbox Code Playgroud)

另请注意,公钥以 ssh-rsa 开头,以 your_username@hostname 结尾。


小智 8

如果您使用的是Windows PowerShell,最简单的方法是:

cat ~/.ssh/id_<key-type-here>.pub | clip
Run Code Online (Sandbox Code Playgroud)

这会将密钥复制到剪贴板以便于粘贴.

所以,在我的实例中,我使用ed25519,因为RSA现在相当可以破解:

cat ~/.ssh/id_ed25519.pub | clip
Run Code Online (Sandbox Code Playgroud)

因为我发现自己做了很多,所以我创建了一个函数,并在我的PowerShell配置文件中设置了一个我能记住的简单别名(在这里了解有关PowerShell配置文件的更多信息.只需将其添加到您的Microsoft.PowerShell_profile.ps1:

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

Set_Alias -Name sshkey -Value Copy-SSHKey
Run Code Online (Sandbox Code Playgroud)

然后,在PowerShell控制台中,运行. $profile以加载函数.然后,从现在开始,您需要做的就是运行sshkey,然后通过剪贴板将密钥粘贴到您需要的任何位置.


小智 7

用gedit打开你的id_dsa.pub或some_name.pub文件并复制粘贴内容!

只需使用:

~/.ssh$ gedit some_name.pub
Run Code Online (Sandbox Code Playgroud)


yav*_*cik 7

使用:

# sudo su
# cd /home/user/.ssh
.ssh# gedit id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

然后复制整个文件,没有任何空格.单击GitHub页面右上角的图标,转到设置,然后添加ssh.

将副本粘贴到空间中.它可能会提示您输入GitHub密码.输入它.保存.


avi*_*amg 7

在终端上 cat ~/.ssh/id_rsa.pub

说明

  1. cat是一个标准的Unix实用程序,可读取文件并打印输出
  2. 是您的家庭用户路径
  3. /.ssh-您的隐藏目录包含所有ssh证书
  4. id_rsa.pubid_dsa.pub是RSA公钥(位于客户端计算机上的私钥)。例如,主键可用于启用从远程存储库到您的客户端端点的安全克隆项目。


Sha*_*Sha 7

在乌本图 +18.04

         ssh-keygen -o -t rsa -b 4096 -C "email@example.com" 
Run Code Online (Sandbox Code Playgroud)

之后只需复制并粘贴

         cat ~/.ssh/id_rsa.pub 
Run Code Online (Sandbox Code Playgroud)

或者

         cat ~/.ssh/id_dsa.pub
Run Code Online (Sandbox Code Playgroud)


Jgh*_*525 6

如果您使用的是 Windows,则命令为:

type %userprofile%\.ssh\id_rsa.pub
Run Code Online (Sandbox Code Playgroud)

它应该打印密钥(如果你有的话)。您应该复制整个结果。如果不存在,则执行:

ssh-keygen -t rsa -C "your.email@example.com" -b 4096
Run Code Online (Sandbox Code Playgroud)


Spy*_*ydy 5

可以在以下路径(默认路径)上找到它:

/Users/john/.ssh
Run Code Online (Sandbox Code Playgroud)

john 是您的Mac用户名。


Pra*_*era 5

以下命令将SSH密钥保存在剪贴板上。您只需要粘贴在所需的位置。

cat ~/.ssh/id_rsa.pub | pbcopy
Run Code Online (Sandbox Code Playgroud)