![AWS EC2 Linux - 如何授予承包商 SSH 访问权限](https://linux22.com/image/766792/AWS%20EC2%20Linux%20-%20%E5%A6%82%E4%BD%95%E6%8E%88%E4%BA%88%E6%89%BF%E5%8C%85%E5%95%86%20SSH%20%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90.png)
我们有一个运行 Linux(Amazon Linux 版本 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 时,我得到以下信息:
提前致谢!
答案1
您可以将承包商的公钥添加到authorized_keys
您服务器上的文件中。确切位置可能因您的 EC2 机器而异,但通常您可以在 找到它~/.ssh/authorized_keys
。
公钥看起来就像这样:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCrm+fRzQxElsN7ahKCHSymLpkLkW58d01ot3dsx4iIMQqLXuS2nS/yK2uWSYYt1Hrb3aBxJ8WDI+icq049wPIfehG1ew8KufWyFiAtYMKE4AB7VPM7seVvr4Q6ySl3MTbNhNN+Z9a5uSeGeD3ioje37SKyFiFlTeaXcE6SFvV1m5hoIHLJOBWy7j7e1Bbmp5BxfzOu3436L4vfl8LjTM2RRtCv9A0345x0kOM7fBctUpEiVXbSiMEZoZB+ALqnKDY7R1kccLjGJR19m/Pnm3lggVWevLu0zdURJ+HGdXzNOUpUMSgftROlzPtSpDf66WKoCUrlliK/t6qiSoYZzbERoGjWzguEk8tw50ynGf+jLs/fz/jvngZWfecPiqud9FgEQLu4+acJKneKkWbULjYoTlsTfvgNadoR0gbfhpTnGenNRgDI0JFM3uP4UXmXVQruDopPEkev6xicjLZSS8Kim53KO0owmsfVqjk2e1k2lukjX+BNa8lakEqU+UAvX/M= contractor
然后您只需要在 EC2 机器上打开一个文本编辑器(例如 nano、vim)并将公钥粘贴到authorized_keys
我上面提到的文件中。
答案2
我会为承包商创建一个新的 Linux 用户,并为他们设置一个 ssh 密钥。我在 Amazon Linux1 中记录了如何执行此操作这里,但是一旦您理解了这个概念,我建议您搜索针对 AL2 的更新资源。
答案3
好吧,我想我终于搞清楚了。我现在唯一需要做的就是让测试用户成为实例的管理员,这样他们就可以安装东西了。步骤如下。
创建 Amazon Linux 实例并下载其原始 .pem 文件后...
在 AWS EC2 中,转到密钥对并单击创建密钥对,为其命名并选择 pem 格式,然后单击创建密钥对按钮。它将自动下载 pem 文件。保存它!
然后,使用创建实例时下载的原始 .pem 文件通过 SSH 连接到新的 Amazon Linux 实例。为此,打开 CMD 提示符并输入以下内容并按 ENTER(替换/路径/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 上获取公钥:
- 下载 Putty
- 打开 PuTTYgen
- 单击“加载”
- 将文件类型更改为所有文件(。)
- 浏览到 .pem 文件
复制输出窗口中的所有内容(除了最后的“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/