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”(本机)
java.io.FileNotFoundException:/key.p12:打开失败:ENOENT(没有这样的文件或目录)
如何在两种公钥格式之间进行转换,一种是“BEGIN RSA PUBLIC KEY”,另一种是“BEGIN PUBLIC KEY”