【问题标题】:How do I access my SSH public key?如何访问我的 SSH 公钥?
【发布时间】:2011-04-19 04:40:44
【问题描述】:

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

我尝试了cd id_rsa.pubid_rsa.pub,但没有成功。如何访问我的 SSH 公钥?

【问题讨论】:

标签: git ssh rsa


【解决方案1】:

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

您可以通过以下方式列出您拥有的所有公钥:

$ ls ~/.ssh/*.pub

【讨论】:

  • 即使我在它所指的位置看到文件 (C:/Users/Me/.ssh/.id_rsa.pub),这些命令也会产生错误:没有这样的文件或目录。我正在从 Git Bash、MyPC 执行此操作 ~/.ssh
  • @sscirrus:在windows中,你可以使用type命令。或者只是在记事本中打开 .pub 文件并将其粘贴到 github。
  • 非常感谢彼得的回答和编辑。让它成为答案,我会接受:)
  • @sscirrus:接受这个...它也可以(在 unix 或 cygwin 下)
  • 在 Mac OS X 上:cat ~/.ssh/id_rsa.pub
【解决方案2】:

将密钥复制到剪贴板。

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

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

并将其粘贴到您需要的任何位置。

更多流程详情,请查看:Generating SSH Keys

【讨论】:

  • sudo apt-get install xclip -y 对于那些没有pbcopy 工作的用户。
  • sudo apt-get install -y xclip 后跟 alias pbcopy="xclip -sel clip" 然后 pbcopy &lt; ~/.ssh/id_rsa.pub 或简单地 xclip -selection clipboard &lt; ~/.ssh/id_rsa.pub
【解决方案3】:

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

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

或公钥:

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

如果您收到消息:“代理没有身份。”,那么您必须首先通过ssh-keygen 生成您的 RSA 密钥。

【讨论】:

  • 这适用于事先不知道密钥路径的情况。它并不总是在~/.ssh/
  • 试用了一下,适用于 Mac、Win10(在 git bash 中)和 Ubuntu。
  • 使用 ssh-add -L 是迄今为止更好的选择,因为并非每个 SSH 密钥都是位于 ~/.ssh 文件夹中的 RSA 密钥。我更喜欢使用我的 PGP 密钥进行身份验证,因此我根本没有 ~/.ssh/id_rsa.pub 文件。
【解决方案4】:

如果您使用的是 Windows,请使用以下内容,全选,然后从记事本窗口复制:

notepad ~/.ssh/id_rsa.pub  

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

pbcopy < ~/.ssh/id_rsa.pub

【讨论】:

    【解决方案5】:

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

    1. 打开终端
    2. (您在主目录中)cd .ssh(隐藏目录)
    3. pbcopy

    如果这不起作用,请执行 ls 并查看其中有哪些带有 .pub 扩展名的文件。

    【讨论】:

      【解决方案6】:

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

      解释

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

      【讨论】:

        【解决方案7】:

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

        $ cat ~/.ssh/id_rsa.pub
        

        【讨论】:

          【解决方案8】:

          生成 SSH 密钥后,您可以:

          cat .ssh/id_rsa.pub |pbcopy
          

          这会将您的 ssh 密钥复制到剪贴板中。

          【讨论】:

            【解决方案9】:

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

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

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

            因此,在我的例子中,我使用 ed25519,因为 RSA 现在相当容易破解:

            cat ~/.ssh/id_ed25519.pub | clip
            

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

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

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

            【讨论】:

              【解决方案10】:

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

              只需使用:

              ~/.ssh$ gedit some_name.pub
              

              【讨论】:

              • 当我这样做时,它会打开一个空白文件。它没有显示任何文本。但是当我浏览文件管理器时,我可以看到文本。
              【解决方案11】:

              用途:

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

              然后复制整个文件,不带任何空格。点击 GitHub 页面右上角的图标,进入设置,添加 ssh。

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

              【讨论】:

                【解决方案12】:

                以下命令会将 SSH 密钥保存在剪贴板上。您只需粘贴到所需位置即可。

                cat ~/.ssh/id_rsa.pub | pbcopy
                

                【讨论】:

                • 这是我最喜欢的方式。
                【解决方案13】:

                如果你使用的是windows,命令是:

                type %userprofile%\.ssh\id_rsa.pub

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

                ssh-keygen -t rsa -C "your.email@example.com" -b 4096

                【讨论】:

                  【解决方案14】:

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

                  ssh-keygen -y
                  

                  ssh-keygen -y -f path/to/private_key
                  

                  【讨论】:

                    【解决方案15】:

                    可以在这个路径上找到(默认路径):

                    /Users/john/.ssh
                    

                    john 是您的 Mac 用户名。

                    【讨论】:

                      【解决方案16】:

                      在 UBUNTU +18.04

                               ssh-keygen -o -t rsa -b 4096 -C "email@example.com" 
                      

                      然后复制粘贴

                               cat ~/.ssh/id_rsa.pub 
                      

                               cat ~/.ssh/id_dsa.pub
                      

                      【讨论】:

                        【解决方案17】:

                        打开终端 纳米 ~/.ssh/id_rsa.pub

                        【讨论】:

                          【解决方案18】:

                          在 Mac 上,您可以执行此操作将其复制到剪贴板(例如 cmd + c 快捷方式)
                          cat ~/Desktop/ded.html | pbcopy
                          pbcopy &lt; ~/.ssh/id_rsa.pub

                          并粘贴 pbpaste &gt; ~Documents/id_rsa.txt

                          或者,使用cmd + v 快捷方式 将其粘贴到其他地方。

                          ~/.ssh/Users/macbook-username/.ssh 是同一路径
                          您可以在终端上使用 Print work directory: pwd 命令获取当前目录的路径。

                          【讨论】:

                            【解决方案19】:

                            只是为了给这个问题一个新的视角,如果你使用 github,你可以在以下位置找到你的公钥:https://github.com/${USERNAME}.keys

                            【讨论】:

                              【解决方案20】:

                              我在 Windows 上使用 Git Bash。

                              $ eval $(ssh-agent -s) //激活连接

                              • 一些输出

                              $ ssh-add ~/.ssh/id_rsa //添加身份

                              • 其他一些输出

                              $ clip

                              【讨论】:

                                【解决方案21】:

                                在 Mac/unix 和 Windows 上:

                                ssh-keygen 然后按照提示进行操作。它会询问您文件的名称(例如,您将其称为 pubkey)。 马上,您应该可以看到您的钥匙指纹和钥匙的 randomart 图像。

                                然后只需使用您喜欢的文本编辑器并输入命令vim pubkey.pub,它(您的 ssh-rsa 密钥)就应该在那里。

                                用 emacs 或您拥有/喜欢的任何其他编辑器替换 vim。

                                【讨论】:

                                • 即使我在终端或查找器上找不到文件,用文本编辑器打开文件也可以...谢谢
                                猜你喜欢
                                • 2018-11-06
                                • 2016-09-24
                                • 2016-09-19
                                • 1970-01-01
                                • 2010-11-30
                                • 2017-07-08
                                • 2015-06-17
                                • 2020-11-17
                                • 2019-01-12
                                相关资源
                                最近更新 更多