我们有一个运行 Linux(Amazon Linux release 2 (Karoo))和 Wordpress 的 AWS EC2 实例。目前,我们公司的每个人都使用 wordpress.pem 文件通过 SSH 连接到该服务器(以下行只是保存在我们连接的批处理文件中):
ssh -i %userprofile%\documents\ssh\wordpress.pem [email protected]
我们有一个承包商需要访问我们的 Wordpress 站点和对 Linux 机器的 SSH 访问。我对 Linux 不是很熟悉,所以我想知道是否有人知道解释(希望有明确说明)如何为用户设置访问权限的网站或视频,这样我们就不必给他们我们的 .pem 文件。目前我不知道该怎么做。在 Wordpress GUI 中添加用户是不言自明的……但在 Linux 方面并没有那么多。
如果我打开 Putty 并尝试连接到 IP,它会要求输入用户名,但是当我输入 ec2-user 时,我得到以下信息:
提前致谢!
您可以将承包商的公钥添加到
authorized_keys
服务器上的文件中。您的 EC2 机器上的确切位置可能会有所不同,但通常您可以在~/.ssh/authorized_keys
.公钥看起来像这样:
然后您只需要在您的 EC2 机器上打开一个文本编辑器(例如 nano、vim)并将公钥粘贴到
authorized_keys
我上面提到的文件中。我会为承包商创建一个新的 Linux 用户并使用 ssh 密钥对其进行设置。我在此处记录了我是如何在 Amazon Linux1 中执行此操作的,但是一旦您理解了这个概念,我建议您搜索适用于 AL2 的更新资源。
好吧,我想我终于想通了。我预计现在唯一要做的就是让测试用户成为实例的管理员,以便他们可以安装东西。以下是步骤。
在您创建 Amazon Linux 实例并为其下载原始 .pem 文件后...
在 AWS EC2 中,转到 Key Pairs 并单击 Create Key Pairs,为其命名并选择 pem 格式可以单击 Create key pair 按钮。它将自动下载 pem 文件。保存!
然后,使用您在创建实例时下载的原始 .pem 文件通过 SSH 连接到您的新 Amazon Linux 实例。为此,请打开 CMD 提示符并输入以下内容并按 ENTER(将/path/new_key_pair.pem替换为您的 pem 文件的路径,并将 54.123.123.123 替换为您的实际公共 IP):
ssh -i /path/new_key_pair.pem [email protected]
然后发出以下命令:
sudo su
sudo adduser test-user
sudo su - test-user
mkdir .ssh
chmod 700 .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
由于视频(https://youtu.be/khPGZYh73fo)假设每个人都在 Mac 或 Linux 上,我不得不找出如何在 Windows 上获取公钥:
复制输出窗口中的所有内容(最后的“imported-openssh-key”除外)。
回到您的 SSH 会话,打开 authorized_keys 文件并输入您从 PuTTYgen 复制的公钥:
nano .ssh/authorized_keys
粘贴公钥(通过右键单击窗口中的任意位置)并保存文件(CTRL+X 然后 Y 然后 ENTER)
将 .pem 文件发送给承包商。他们现在可以打开 CMD 提示符并以新用户身份输入以下内容以 SSH 登录:
ssh -i /path/new_key_pair.pem [email protected]
参考:https ://aws.amazon.com/premiumsupport/knowledge-center/new-user-accounts-linux-instance/