我们使用默认使用ssh密钥进行身份validation的Amazon EC2服务器。 我们想要访问服务器中的另一个用户,但是我们不想给出我们的初始密钥,所以我们要创build一个第二个密钥,我们可以稍后移除它。 有什么办法可以接受多个关键?
这个post对设置第一个键很有帮助。
您可以为每个用户帐户configuration多个授权密钥。 只需以相同的方式创build公钥/私钥对,除了最后运行此命令:
cat id_rsa.pub >> ~/.ssh/authorized_keys
其中id_rsa.pub是新密钥创build的任何文件名。 现在,如果您查看authorized_keys文件,您将看到列出的两个公钥,每行一个。
而要清楚的是,这将允许这两个键被用来login到同一个用户帐户。 如果你只是想要这个人有可审计的访问系统,我会build议创build一个新的用户。 虽然仍然使用公共密钥进行访问。
使用puttygen,生成一个密钥。 我个人使用RSA,SSHv2 keys @> 2048位,但这是您的select。
接下来在puttygen中find允许你导出OpenSSH公钥和私钥对的函数。 取公共密钥并将其附加到服务器上的〜/ .ssh / authorized_keys的末尾,确保删除了以前没有使用OpenSSH格式的任何密钥(例如,您在之前的注释中提到的Putty密钥)。
对于您想要login到服务器的不同密钥,请多次执行此操作。 您的本地盒子上的Pagent持有私钥,但它可能需要读取.PPK文件,而不是您导出的私钥文件。
请注意,一旦有用户login,他们可以更改authorized_keys文件并locking另一个用户。 换句话说,这不是一个以安全为中心的设置,你没有太多的办法来实现它。 你唯一的select是查看限制用户可以运行的命令,而不是给他们一个shell(“man authorized_keys”和search关于“command =”和“no-pty”的部分),或者询问服务器的系统pipe理员重定位authorized_keys所在的位置(/ etc / ssh / sshd_config中的AuthorizedKeysFile设置)。
如果不这样做,请给这两个用户一个单独的login名,并使用服务器的用户/组文件所有权ACL来完全生效。 这可能是最好的,说实话…