如何正确迁移你的私钥和公钥

如何正确迁移你的私钥和公钥

我买了一台新笔记本电脑,并将我的主文件夹从旧电脑复制到新电脑。我确保在此过程中复制了我的 .ssh 文件夹,因此我可以看到里面的密钥/home/<my user>/.ssh。但是我无法使用这些密钥访问任何东西。例如,当我尝试使用mvn package某个应用程序时,远程 Nexus 存储库不授予我访问权限。

有人能告诉我该如何正确地复制这些密钥吗?

答案1

首先确保您复制的密钥没有损坏。您可以在两个系统中检查和比较md5sumsha256sum源系统和目标系统以及您复制的每个密钥都应该相同。如果不是这样,请重新复制。

md5sum <filename> 

sha256sum <filename> 

如果校验和相同,则需要确保具有适当的权限和所有权。

sudo chmod 700 ~/.ssh 
sudo chmod 600 ~/.ssh/*
sudo chown user: -R  ~/.ssh/

通过保留权限和所有权来复制密钥的最佳方式是 rsync。您可以在新系统中运行以下命令。这里我假设您使用的是同一个网络。

rsync user@{ip address or hostname of old system}/home/user/.ssh/* /home/user/.ssh/ 

如果新系统中的用户不同,则需要按照上述步骤修复所有权。

答案2

要将密钥传输到新计算机,您只需复制主目录中的子目录即可。该目录及其文件的权限很重要,因此需要使用.ssh例如或其等效项来复制文件及其权限。cp -a

请注意,root 用户的 .ssh 目录位于/root/.ssh,因此任何时候需要以 root 身份进行 ssh 时,它可能正在使用 中的文件/root/.ssh,而不是您的主目录中的文件。

相关内容