从Windows远程连接EC2 Linux实例的SSH

12

我正在设置一门“云上数据分析”课程,大部分学生可能会使用 Windows 操作系统。

学生们需要设置 EC2 Ubuntu 实例并连接到它们。

如何为 Windows XP-7 设置 SSH 最简单?

我尝试过 PuTTY ,但 Puttygen 只能在我手动在文本编辑器中添加换行符后,将公钥转换为 putty 格式。对于80人的班级来说,这太复杂了。

我尝试过 OpenSSH ,但我似乎找不到公钥文件的正确权限。在 Mac OS / Linux 上,只需使用 chmod 600 命令即可。

是否有一个好用的 SSH 客户端支持 Amazon 的密钥格式,我可以轻松设置?


太复杂了,超出了80班的范围。lol++ - gonzobrains
6个回答

16

Amazon Web Services提供的.pem文件支持openssh客户端实现,但如果需要直接使用.pem文件而无需通过puttygen.exe转换的基于Windows的客户端,请查看Bitvise Tunnelier


那个程序可以运行,但是Windows无法识别换行符。 - Austin Richardson
实际上,如果您在创建密钥时下载它,它会有换行符,这是Windows可以接受的。谢谢! - Austin Richardson
@wkl 或许你可以帮我一下。看看这个链接:https://stackoverflow.com/questions/52072330/how-can-i-set-in-the-bitvise-ssh-client-the-tunnel-automatic-connect-if-open-wi - moses toh
@wkl在2015年由于OpenSSH被集成到Windows中而更新了正确的答案。 - Austin Richardson
@AustinRichardson 很好的东西!我已经好几年没用Windows了,所以对我写这个答案之后发生的事情一无所知。 - wkl

14
如果有人正在寻找 Windows 10 的解决方案。 在 Windows 10 中,可以使用 PowerShell。 使用以下命令。
ssh -i \..\location-to-pem-file.pem ubuntu@X.X.XXX.XXX

如果您的Windows 10计算机不支持ssh,请按照此链接进行安装。
我使用过它并建议您也这样做。


2
一个更加简单的解决方案。差不多过了10年之后!由于现在已经是2021年,我将把这个答案设置为正确答案。 - Austin Richardson

4

步骤1:下载密钥对

Step 1:

下载会在本地系统上创建一个 .pem 文件。该文件包含一个私钥,您可以使用它通过 SSH 连接到 EC2 实例。

步骤2:启动 Linux 实例

enter image description here

复制公共 IP 地址以便将来连接 Linux 实例

步骤3:https://the.earth.li/~sgtatham/putty/latest/w32/puttygen.exe下载 puttyGen

步骤4:执行 PuttyGen exe 并加载私钥(在启动实例时下载的 pem 文件)

enter image description here

步骤5:保存私钥,它将提供 .ppk 文件,该文件将用于连接 Linux 实例

enter image description here

步骤6:下载并安装 Putty 软件,打开 Putty,并粘贴从 Linux 实例复制的公共 IP 地址

enter image description here

步骤7:现在加载我们保存的 .PPK 文件

enter image description here

步骤8:从警报窗口中选择 Yesenter image description here

第九步:以ec-user身份登录 enter image description here


3
另一个可能的解决方案是使用PuTTY,但要按照Amazon的指南操作。我发现其他一些指南在步骤上不够清晰,但当我使用他们的指南时,我能够成功地使用PuTTYgen。
  1. 安装PuTTY
  2. 按照Amazon的指南将您的PEM文件转换为PuTTY PPK格式。
  3. 连接到您的服务器!
至于换行符,也许您需要运行unix2dos或其他修复程序来解决?

2
如果有人正在寻找Windows 10的解决方案。
icacls.exe .\Desktop\xxxx.pem /reset
icacls.exe .\Desktop\xxxx.pem /grant:r "$($env:USERNAME):(r)"
icacls.exe .\Desktop\xxxx.pem /inheritance:r
ssh -i .\Desktop\xxxx.pem ec2-user@54.229.xxx.x

1
我借鉴了这个视频中提供的方法。https://youtu.be/P1erVo5X3Bs 打开PowerShell并运行以下命令。您可以在任何位置通过输入“powershell”并按Enter键来打开PowerShell。 在此输入图片描述 1. 重置权限:
icals.exe key.pem /reset 

2. 检查当前用户ID

whoami

3. 给特定用户 ID 添加权限

icacls.exe key.pem /grant:r "YOUR USER ID GIVEN BY WHOAMI"

4. 移除其他用户的权限

icacls.exe .\ec2.pem /inheritance:r  

现在应该可以工作了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接