【问题标题】:Move SSH key from Ubuntu to Mac [closed]将 SSH 密钥从 Ubuntu 移动到 Mac [关闭]
【发布时间】:2018-09-20 14:02:28
【问题描述】:

我正在从 Ubuntu 切换到 Mac,我(想我)需要将我的 SSH 密钥从 Ubuntu .ssh 文件夹的某个位置移动到 Mac。

向 Google 寻求一些简单的解决方案没有奏效。 Migrate SSH keys from Linux to Mac 也没有多大帮助。

有什么标准的方法吗?

【问题讨论】:

  • 通常,人们会重新生成密钥,以便清楚哪台计算机在何时做了什么。你为什么想要这样做?
  • 您提到的 SO 链接正是您想要的。将您的 ~/.ssh 文件夹复制到 mac 后,就像 @Schwern 回答说的那样,您还需要通过 ssh-add 将密钥添加到 ssh-agent,就像您链接的文章所说的那样。
  • @Makoto 那么,最好的方法是生成一个全新的密钥?我想我试图 add 公钥,也许这就是 add 对我不起作用的原因(消息是Load key "id_rsa.pub": invalid format)?

标签: git macos ubuntu ssh


【解决方案1】:

我管理着许多 linux 虚拟机,并且需要使用其中任何一个的 git。我也希望能够 ssh。所有这些都拥有相同的 ssh 密钥意味着我只需要将一个公钥上传到我的 git 服务器。要在新 VM 上设置我的密钥,我 ssh 到该 VM 并使用 scp 从另一个 VM 复制我的密钥:

scp -r remoteVM:.ssh .

这应该保留目录/文件权限,但值得仔细检查。

【讨论】:

  • 与其复制你的私钥,不如试试ssh agent forwarding
  • @Schwern Git 就是一个简单的例子。我还使用命令行和脚本在这些主机之间进行 ssh 连接。而且,非常感谢 Test::More!
  • 另外,在我的公司,我处理企业 github 上的一些存储库以及“常规”git 服务器。
  • ssh 代理转发是 ssh 的一般特性,它不是 Github 特有的。不客气。
  • 例如,要授予自己对 VM 的密钥访问权限,您只需将公钥复制到 VM 的 ~/.ssh/authorized_keys;您可以使用ssh-copy-id 安全地执行此操作。然后,如果您在登录 VM 时需要您的私钥(例如访问 Git 存储库或其他 VM)而不是将它们复制到 VM,您可以通过 ssh 密钥转发访问它们。
【解决方案2】:

它们是文件。像任何其他文件一样复制它们。 scprsync 或使用 USB 密钥。只是不要做一些会将它们交给第三方的事情,比如通过电子邮件将它们发送给自己。

Mac 是 Unix 机器,使用 OpenSSH 就像 Ubuntu 一样,而且基本上都是一样的。所以你可以把你的密钥放在~/.ssh/,就像在 Ubuntu 上一样。

唯一的问题是make sure the permissions are correct

【讨论】:

  • 谢谢。正在考虑复制,但我不确定操作系统差异,并且我的 Mac 上没有 .ssh 文件夹 - 所以我想我只需要自己创建一个,直接或使用一些特殊的 bash 命令?
  • @Gishas 通常它会在您第一次运行ssh 时创建。 ssh 到任何地方,无论您是否登录。这将确保它具有正确的权限。
  • 好的,我会尝试从mac ssh 到linux 并获取过程中的密钥。
猜你喜欢
  • 2013-05-28
  • 1970-01-01
  • 1970-01-01
  • 2020-10-17
  • 2016-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多