如何为服务器设置.pem登录名?


8

我在数字海洋上有几个Ubuntu液滴

我已经设置了基于用户名密码的登录名。但是我对这个想法不满意。

我理想地想要的是类似登录的亚马逊,其中有一种identity.pem文件。我将与团队中的人共享此文件。他们登录说ssh webuser@website_ip做一个后ssh-add

如何设置这样的登录名?

我不想在每个开发人员的机器上添加ssh-keygen,然后将公钥的内容添加到.ssh/authorised_keys。一方面,对于每个开发人员而言,这似乎是太多的工作。

让我知道是否可能。谢谢

致所有反对者

我了解设置共享登录名不是一个好主意。但是我在问这个问题时并没有违反任何常见问题解答。否决投票时请注意一些事项。否则,任何新用户都不会感到舒适。

这个问题也很直接。您可以在任何Linux机器上设置亚马逊认证类型吗?如果您知道答案,请给我答案。否则继续前进。

我知道现在我已经邀请了更多的支持者加入这篇文章。但谁在乎!


4
为人们提供共享登录名的确不是一个好主意。您真的应该让它们全部生成ssh密钥,这需要花费几分钟。
user9517

有时,为每个特定用户使用SSH密钥是不可行的。我在一家律师事务所工作,我们一直使用共享的PEM密钥。
Danijel-James W 2014年

Answers:


8

这是一个非常简单的过程,尽管正如已经提到的,共享登录是一个非常糟糕的主意。在这种情况下,所有用户都具有同等的访问权,您将无法跟踪哪个用户执行的工作。考虑到这一点,以下过程将为您提供所需的东西。在有问题的计算机上,以共享用户身份登录时:

让我们将所有内容都放在一个位置:

cd .ssh /

生成文件id_dsa,从中我们将创建PEM文件:

ssh-keygen -t dsa -b 2048

生成私钥PEM文件:

openssl dsa -in id_dsa -forme pem> pk_dsa.pem

生成公钥PEM文件以分发给用户:

openssl dsa -in pk_dsa.pem -pubout -out pub_dsa.pem

最终的pub_dsa.pem是您要查找的文件。


你好!我的服务器告诉我,DSA必须为1024字节。我分发的最终pem文件要求我输入密码。尝试通过删除密码短语会openssl rsa -in <file.pem> -out <file.nocrypt.pem>告诉我无法加载私钥。openssl rsa -in <file.pem> -check告诉139688383772488:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: ANY PRIVATE KEY
theTuxRacer 2014年

2
这对我不起作用,仍然要求输入密码以及密码。我正在使用ubuntu 14.04
ankuj
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.