Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Encryption 我应该为新的RSA密钥创建一个新文件,还是只附加新的RSA密钥而不覆盖旧的RSA密钥?_Encryption_Ssh - Fatal编程技术网

Encryption 我应该为新的RSA密钥创建一个新文件,还是只附加新的RSA密钥而不覆盖旧的RSA密钥?

Encryption 我应该为新的RSA密钥创建一个新文件,还是只附加新的RSA密钥而不覆盖旧的RSA密钥?,encryption,ssh,Encryption,Ssh,我正处于这种情况下(请注意,我对ssh这件事还不太了解): 基本上,我已经为我的Github设置了SSH,所以每次我执行git push origin master时,它都不会提示我输入用户名和密码,这很好。现在我想设置另一个SSH以登录到我的学校服务器。我想遵循我在这篇文章中为Github所做的相同说明。但是在我输入ssh-keygen-t rsa-C之后”me@school.com" . 它说,/.ssh/id\u rsa已经存在。是否覆盖(是/否)? 显然,我不想覆盖它,因为我仍然希望即时

我正处于这种情况下(请注意,我对ssh这件事还不太了解):

基本上,我已经为我的Github设置了SSH,所以每次我执行git push origin master时,它都不会提示我输入用户名和密码,这很好。现在我想设置另一个SSH以登录到我的学校服务器。我想遵循我在这篇文章中为Github所做的相同说明。但是在我输入ssh-keygen-t rsa-C之后”me@school.com" . 它说,
/.ssh/id\u rsa已经存在。是否覆盖(是/否)?


显然,我不想覆盖它,因为我仍然希望即时访问我的Github帐户。我知道我可以用不同的名称创建另一个
id\u rsa
,但是这是一个好方法吗?它有任何副作用吗?如果我可以将新的RSA密钥附加到现有的
id\u RSA
上,看起来会更好,但我不知道如何执行。(我想需要知道正确的命令才能执行此操作)

您不需要创建新密钥。您可以使用相同的公用密钥将其存入您的学校帐户。参数
-C
只是将注释放在您的键上,它只在那里,以便您可以轻松地将其识别为您的键。它与登录特定服务器的能力无关。

因此在我的示例中,ssh-keygen-t rsa-C“me@school.com", "me@school.com“实际上是一条注释,而不是登录凭据?因此,即使学校服务器上的授权密钥包含该模式,我仍然可以ssh到学校服务器”me@gmail.com“而不是”me@school.com" . 我说的对吗?对。您甚至可以编辑id_rsa.pub和exchange的副本”me@gmail.com“与”me@gmail.com“在将此文件的内容附加到服务器上的
~/.ssh/autherized_keys
之前。但编辑时要小心。不要在windows系统上编辑,因为windows和linux/osx上使用了不同的行尾字符。我意识到在不同的文件名下创建第二个rsa密钥存在问题,每次我关闭笔记本电脑并再次打开它时,我都必须执行ssh添加新的rsa以将新的rsa密钥插入密钥链。这既单调又低效。