我是 Github 新手,无法生成 SSH 密钥

Posted

技术标签:

【中文标题】我是 Github 新手,无法生成 SSH 密钥【英文标题】:I'm new to Github and having trouble with generating an SSH key 【发布时间】:2021-12-08 05:45:42 【问题描述】:

我正在学习 freeCodeCamp.org 的教程,在我生成 SSH 密钥的部分(时间戳 20:30),我的终端说

zsh:权限被拒绝:/Users/michael。

我按照指示输入以下内容

~ ssh-keygen -t rsa -b 4096 -C "myemail@gmail.com"

我已尝试在系统偏好设置中更改终端的安全权限,以允许它运行不符合安全策略且无济于事的软件。 奇怪的是,当我第一次尝试时,它起作用了,但是当我尝试在终端中查看实际密钥时,它从上面给了我的权限错误消息,所以我认为我一定做错了什么,所以我删除了它的密钥在我的用户目录中创建并重新启动,却发现它现在甚至不会首先生成密钥。

正如我所说,我对此很陌生,所以如果我问的是基本问题,我深表歉意,但我们将不胜感激。

感谢阅读。

【问题讨论】:

你试过sudo命令吗? sudo ssh-keygen -t rsa -b 4096 -C "myemail@gmail.com" ~ 不是命令的一部分。这可能只是(部分)用户的 shell 提示符。 不要在不了解为什么您可能需要它的情况下使用sudo。这里的问题不是您没有执行特定命令的权限,而是您正在执行 wrong 命令。无需以root权限运行ssh-keygen 【参考方案1】:

~ 只是视频中用户提示的一部分。实际的命令只是

ssh-keygen -t rsa -b 4096 -C "myemail@gmail.com"

在一个 shell 命令中,~ 被扩展为用户的主目录,所以你的 shell 认为你想要执行一个名为 /Users/michael 的命令,参数为 ssh-keygen-t 等。

【讨论】:

啊谢谢大家的回答。我以前从未像这样使用过终端机,所以我完全失明了。很高兴知道使用 ~ 是问题所在。再次感谢。我第一次在这里发布了一个问题,看到人们愿意帮助只是为了善良是多么的谦卑。谢谢大家!

以上是关于我是 Github 新手,无法生成 SSH 密钥的主要内容,如果未能解决你的问题,请参考以下文章

权限错误 github(ssh 密钥无法识别)

权限错误github(无法识别ssh密钥)

同一个电脑使用多份密钥文件绑定多个帐号

我们可以跳过关于“将 SSH 密钥添加到 ssh-agent”的部分,而只生成密钥并添加到 GitHub 吗?

github上需要生成密钥对:ssh key

如何生成 SSH keys, 并在 Github 或 Gitlab 等上添加密钥