rsa public key 没有这样的文件或目录?

Posted

技术标签:

【中文标题】rsa public key 没有这样的文件或目录?【英文标题】:rsa public key No such file or directory? 【发布时间】:2018-12-22 08:20:08 【问题描述】:

我正在努力学习 Upskillcourses.com 网络开发在线课程。在第 11 课中,我应该将 cloud9 链接到 github。

我正在尝试获取 SSH 密钥。但它不起作用:

ec2-user:~/environment $ cat ~/.ssh/id_rsa.pub
cat: /home/ec2-user/.ssh/id_rsa.pub: No such file or directory

我完全按照老师的方式复制了它。老实说,我真的不知道自己在做什么或如何解决。似乎没有其他人遇到这个问题。感谢您的帮助

【问题讨论】:

SO 是针对编程问题,而不是关于使用或配置 Linux 及其应用程序的问题。 Super User 或 Unix & Linux 将是解决此类问题的更好地方。 您从未使用ssh-keygen 创建 SSH 密钥。 谢谢@Barmar,下次我一定会问 linux-y 问题。 【参考方案1】:

使用 ssh-keygen 创建一个默认的 ssh 密钥对,暂时没有密码:

ssh-keygen -t rsa -C "MyEmailAddress" -f ~/.ssh/id_rsa -P ""

那么任何 ssh 命令都将默认使用该密钥。

【讨论】:

【参考方案2】:

首先,使用以下命令检查现有的 SSH 密钥:

ls -al ~/.ssh

检查目录列表以查看您是否已经拥有公共 SSH 密钥。默认情况下,公钥的文件名是以下之一:id_xxxx.pub(例如:id_rsa.pub)。如果您没有现有的公钥和私钥对,请使用以下命令创建一个:

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

这将创建一个新的 ssh 密钥,使用提供的电子邮件作为标签。当系统提示您“输入要在其中保存密钥的文件”时,按 Enter。这接受默认文件位置。在提示符处,键入安全密码。

如果您看到列出的现有公钥和私钥对,您想用来连接到 GitHub,或者完成上述密钥生成步骤后,您可以将 SSH 密钥添加到 ssh-agent以下命令:

eval "$(ssh-agent -s)"

ssh-add ~/.ssh/id_rsa(添加 -K 选项,如果在 MAC OS 上,因为它会在您将 ssh 密钥添加到 ssh-agent 时将密码短语添加到您的钥匙串中.)

来源:https://docs.github.com/

【讨论】:

【参考方案3】:

这发生在我只是在 SSH 密钥所在目录之外的目录中时。

为了解决这个问题:您需要检查保存 SSH 密钥的目录的路径。向上滚动到您创建密钥的位置,您应该会看到:

Your public key has been saved in /Users/userlocation/.ssh/id_rsa.pub

现在检查您的工作目录:

pwd

如果您的工作目录与保存 SSH 密钥的目录不同,请更改目录:

cd /Users/userlocation #find yours!

然后运行命令(略有改动):

cat .ssh/id_rsa.pub

这对我有用! (记得先运行ssh-keygen!)

【讨论】:

以上是关于rsa public key 没有这样的文件或目录?的主要内容,如果未能解决你的问题,请参考以下文章

没有这样的文件或目录(public/assets/manifest*)

错误:ENOENT:没有这样的文件或目录,错误时统计“/public/main.html”(本机)

iOS RSA加密生成公钥私钥

Mac sourcetree自动添加ssh key

java.io.FileNotFoundException:/key.p12:打开失败:ENOENT(没有这样的文件或目录)

如何在两种公钥格式之间进行转换,一种是“BEGIN RSA PUBLIC KEY”,另一种是“BEGIN PUBLIC KEY”