如何访问SSH公钥?

时间:2010-09-30 06:03:56

标签: git ssh rsa

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

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

22 个答案:

答案 0 :(得分:743)

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

您可以列出以下所有公钥:

$ ls ~/.ssh/*.pub

答案 1 :(得分:156)

将密钥复制到剪贴板。

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

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

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

要更好地了解整个过程,请查看:Generating SSH Keys

答案 2 :(得分:35)

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

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

或公钥:

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

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

答案 3 :(得分:28)

如果您使用的是Windows,请选择全部,然后从记事本窗口中复制:

notepad ~/.ssh/id_rsa.pub  

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

pbcopy < ~/.ssh/id_rsa.pub

答案 4 :(得分:17)

如果您的.ssh文件夹没有任何id_rsa.pub文件,则可以使用 ssh-keygen 命令创建该文件。

答案 5 :(得分:14)

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

  1. 打开终端
  2. (您在主目录中)cd .ssh(隐藏目录)
  3. pbcopy&lt; id_rsa.pub(将其复制到剪贴板)
  4. 如果这不起作用,请执行ls并查看其中包含.pub扩展名的文件。

答案 6 :(得分:9)

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

cat .ssh/id_rsa.pub |pbcopy

将ssh密钥复制到剪贴板中。

答案 7 :(得分:8)

如果您使用的是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,然后通过剪贴板将密钥粘贴到您需要的任何位置。

答案 8 :(得分:7)

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

只需使用:

~/.ssh$ gedit some_name.pub

答案 9 :(得分:6)

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

说明

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

答案 10 :(得分:6)

使用:

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

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

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

答案 11 :(得分:5)

可在此路径(默认路径)上找到:

/Users/john/.ssh

john是您的Mac用户名。

答案 12 :(得分:5)

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

cat ~/.ssh/id_rsa.pub | pbcopy

答案 13 :(得分:3)

如果您正在使用Windows,则命令为:

&#13;
&#13;
type %userprofile%\.ssh\id_rsa.pub
&#13;
&#13;
&#13;

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

&#13;
&#13;
ssh-keygen -t rsa -C "your.email@example.com" -b 4096
&#13;
&#13;
&#13;

答案 14 :(得分:2)

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

并粘贴 pbpaste > ~Documents/id_rsa.txt

或者,使用cmd + v shorcut 将它粘贴到其他地方。

~/.ssh/Users/macbook-username/.ssh的路径相同 您可以在终端上使用打印工作目录:pwd命令来获取当前目录的路径。

答案 15 :(得分:2)

  

打开终端   nano~ / .ssh / id_rsa.pub

答案 16 :(得分:2)

在UBUNTU中+18.04

<GridViewColumn Header="{x:Static p:Resources.Name}" Width="100">
    <GridViewColumn.CellTemplate>
        <DataTemplate>
            <Grid>
                <TextBlock Text="{Binding Path=Name}" Tag="{Binding Name}"/>
                <Rectangle Fill="Transparent" ToolTipService.ToolTip="{Binding Path=ToolTipModifications}" MouseEnter="UIElement_OnMouseEnter"/>
            </Grid>
        </DataTemplate>
    </GridViewColumn.CellTemplate>
</GridViewColumn>

然后复制并粘贴

private void UIElement_OnMouseEnter(object sender, MouseEventArgs e)
{
    if (sender is Rectangle rectangle)
    {
        if (string.IsNullOrEmpty(rectangle.ToolTip.ToString()))
        {
            rectangle.Visibility = Visibility.Collapsed;
        }
    }
}

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

答案 17 :(得分:1)

在Mac / unix和Windows上:

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

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

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

答案 18 :(得分:1)

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

ssh-keygen -y

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

答案 19 :(得分:0)

我在Windows上使用Git Bash。

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

  • 一些输出

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

  • 其他一些输出

$ clip <〜/ .ssh / id_rsa.pub //这是重要的一个。这会将您的密钥添加到剪贴板。返回GitHub并将其粘贴,然后贴吧!你应该很好。

答案 20 :(得分:0)

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

$ cat ~/.ssh/id_rsa.pub

答案 21 :(得分:0)

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