AWS EC2 学习之: 使用 PuTTY 从 Windows 连接到 Linux 实例

news2024/11/23 19:10:35

启动您的实例之后,您可以连接到该实例,然后像使用您面前的计算机一样来使用它。

注意

启动实例后,需要几分钟准备好实例,以便您能连接到实例。检查您的实例是否通过了状态检查。您可以在 Instances 页上的 Status Checks 列中查看此信息。

以下说明介绍如何使用 PuTTY (适用于 Windows 的免费 SSH 客户端) 连接到您的实例。如果您在尝试连接到您的实例时收到错误消息,请参阅排查实例的连接问题。

先决条件

使用 PuTTY 连接到您的 Linux 实例之前,请先完成以下先决条件:

  • 安装 PuTTY

    从 PuTTY 下载页面下载并安装 PuTTY。如果您安装的是旧版本的 PuTTY,建议您下载最新版本。确保安装整个套件。

  • 获得实例的 ID

    您可以通过使用 Amazon EC2 控制台(位于 Instance ID (实例 ID) 列中)获得您的实例的 ID。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。

  • 获得实例的公有 DNS 名称

    您可以使用 Amazon EC2 控制台获取实例的公有 DNS (选中 Public DNS (IPv4) 列;如果此列处于隐藏状态,请选择 Show/Hide 图标并选择 Public DNS (IPv4))。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。

  • (仅限 IPv6) 获取实例的 IPv6 地址

    如果您已将 IPv6 地址分配给您的实例,则可选择使用实例的 IPv6 地址而非公共 IPv4 地址或公共 IPv4 DNS 主机名来连接实例。您的本地计算机必须拥有 IPv6 地址,且必须配置为使用 IPv6。可使用 Amazon EC2 控制台 (选中 IPv6 IPs 字段) 获取实例的 IPv6 地址。如果您愿意,您可以使用 describe-instances (AWS CLI) 或 Get-EC2Instance (适用于 Windows PowerShell 的 AWS 工具) 命令。有关 IPv6 的更多信息,请参阅IPv6 地址。

  • 查找私有**

    获取您在启动实例时指定的**对的 .pem 文件在您电脑上位置的完全限定路径。

  • 获取用于启动实例的 AMI 的默认用户名称

    • 对于 Amazon Linux AMI,用户名为 ec2-user

    • 对于 Centos AMI,用户名称是 centos

    • 对于 Debian AMI,用户名称是 adminroot

    • 对于 Fedora AMI,用户名为 ec2-userfedora

    • 对于 RHEL AMI,用户名称是 ec2-userroot

    • 对于 SUSE AMI,用户名称是 ec2-userroot

    • 对于 Ubuntu AMI,用户名称是 ubunturoot

    • 另外,如果 ec2-userroot 无法使用,请与 AMI 供应商核实。

  • 允许从您的 IP 地址到您的实例的入站 SSH 流量

    确保与您的实例关联的安全组允许来自您的 IP 地址的传入 SSH 流量。默认情况下,默认安全组不允许传入 SSH 流量。有关更多信息,请参阅 为您的 Linux 实例授权入站流量。

使用 PuTTYgen 转换您的私有**

PuTTY 本身不支持 Amazon EC2 生成的私有**格式 (.pem)。PuTTY 有一个名为 PuTTYgen 的工具,可将**转换成所需的 PuTTY 格式 (.ppk)。您必须将私有**转换为此格式 (.ppk),然后才能尝试使用 PuTTY 连接到您的实例。

转换您的私有**

  1. 启动 PuTTYgen (例如,在开始菜单中,选择 All Programs > PuTTY > PuTTYgen)。

  2. Type of key to generate 下,选择 RSA

    PuTTYgen 中的 RSA **

    如果您使用的是旧版本的 PuTTYgen,请选择 SSH-2 RSA

  3. 选择 Load。默认情况下,PuTTYgen 仅显示扩展名为 .ppk 的文件。要找到您的 .pem 文件,请选择显示所有类型的文件的选项。

    选择所有文件类型

  4. 选择您在启动实例时指定的**对的 .pem 文件,然后选择 Open。选择 OK 关闭确认对话框。

  5. 选择 Save private key,以 PuTTY 可以使用的格式保存**。PuTTYgen 显示一条关于在没有口令的情况下保存**的警告。选择

    注意

    私有**的口令是一层额外保护,因此,即使您的私有**被泄露,在没有口令的情况下,该**仍不可用。使用口令的缺点是让自动化变得更难,因为登录到实例或复制文件到实例需要进行人为干预。

  6. 为该**指定与**对相同的名称 (如,my-key-pair)。PuTTY 自动添加 .ppk 文件扩展名。

您的私有**格式现在是正确的 PuTTY 使用格式了。您现在可以使用 PuTTY 的 SSH 客户端连接到实例。

启动 PuTTY 会话

通过以下过程使用 PuTTY 连接到您的 Linux 实例。您需要使用为私有**创建的 .ppk 文件。如果您在尝试连接到您的实例时收到错误消息,请参阅排查实例的连接问题。

启动 PuTTY 会话

  1. (可选) 您可以在本地系统 (而不是实例) 上使用 get-console-output (AWS CLI) 命令验证实例上的 RSA **指纹。如果您从第三方的公用 AMI 启动了实例,则可能需要这样做。找到 SSH HOST KEY FINGERPRINTS 部分,记下 RSA 指纹 (例如 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f) 并将它与实例的指纹进行比较。

     aws ec2 get-console-output --instance-id instance_id 

    以下是您应查找的内容的示例:

    -----BEGIN SSH HOST KEY FINGERPRINTS----- ... 1f:51:ae:28:bf:89:e9:d8:1f:25:5d:37:2d:7d:b8:ca:9f:f5:f1:6f ... -----END SSH HOST KEY FINGERPRINTS-----

    SSH HOST KEY FINGERPRINTS 部分仅在实例首次启动之后可用。

  2. 启动 PuTTY (在开始菜单中,选择 All Programs > PuTTY > PuTTY)。

  3. Category 窗格中,选择 Session 并填写以下字段:

    1. Host Name 框中,输入 user_name@public_dns_name。确保为您的 AMI 指定相应的用户名。例如:

      • 对于 Amazon Linux AMI,用户名为 ec2-user

      • 对于 Centos AMI,用户名称是 centos

      • 对于 Debian AMI,用户名称是 adminroot

      • 对于 Fedora AMI,用户名为 ec2-userfedora

      • 对于 RHEL AMI,用户名称是 ec2-userroot

      • 对于 SUSE AMI,用户名称是 ec2-userroot

      • 对于 Ubuntu AMI,用户名称是 ubunturoot

      • 另外,如果 ec2-userroot 无法使用,请与 AMI 供应商核实。

    2. (仅限 IPv6) 要使用实例的 IPv6 地址连接,请输入 user_name@ipv6_address。确保为您的 AMI 指定相应的用户名。例如:

      • 对于 Amazon Linux AMI,用户名为 ec2-user

      • 对于 Centos AMI,用户名称是 centos

      • 对于 Debian AMI,用户名称是 adminroot

      • 对于 Fedora AMI,用户名为 ec2-userfedora

      • 对于 RHEL AMI,用户名称是 ec2-userroot

      • 对于 SUSE AMI,用户名称是 ec2-userroot

      • 对于 Ubuntu AMI,用户名称是 ubunturoot

      • 另外,如果 ec2-userroot 无法使用,请与 AMI 供应商核实。

    3. Connection type 下,选择 SSH

    4. 确保 Port 为 22。

    PuTTY 配置 - 会话

  4. (可选) 您可以配置 PuTTY 以定期自动发送“保持连接”数据以将会话保持活动状态。要避免由于会话处于不活动状态而与实例断开连接,这是非常有用的。在 Category 窗格中,选择 Connection,然后在 Seconds between keepalives 字段中输入所需的间隔。例如,如果您的会话在处于不活动状态 10 分钟后断开连接,请输入 180 以将 PuTTY 配置为每隔 3 分钟发送一次保持活动数据。

  5. Category 窗格中,展开 Connection,再展开 SSH,然后选择 Auth。完成以下操作:

    1. 选择 Browse

    2. 选择您为**对生成的 .ppk 文件,然后选择 Open

    3. (可选) 如果打算稍后重新启动此会话,则可以保存此会话信息以便日后使用。在 Category 树中选择 Session,在 Saved Sessions 中输入会话名称,然后选择 Save

    4. 选择打开以便开始 PuTTY 会话。

    PuTTY 配置 - 身份验证

  6. 如果这是您第一次连接到此实例,PuTTY 会显示安全警告对话框,询问您是否信任您要连接到的主机。

  7. (可选) 验证安全警报对话框中的指纹是否与之前在步骤 1 中获取的指纹匹配。如果这些指纹不匹配,则表示有人可能在试图实施“中间人”攻击。如果匹配,请继续到下一步。

  8. 选择。此时会打开一个窗口并且您连接到了您的实例。

    注意

    如果您在将私有**转换成 PuTTY 格式时指定了口令,当您登录到实例时,您必须提供该口令。

如果您在尝试连接到您的实例时收到错误消息,请参阅排查实例的连接问题。

使用 PuTTY 安全复制客户端将文件传输到您的 Linux 实例

PuTTY 安全复制客户端 (PSCP) 是一个命令行工具,您可以用它在 Windows 计算机与 Linux 实例之间传输文件。如果您更喜欢图形用户界面 (GUI),您可以使用一种叫作“WinSCP”的开源 GUI 工具。有关更多信息,请参阅 使用 WinSCP 将文件传输到您的 Linux 实例。

要使用 PSCP,您需要使用在使用 PuTTYgen 转换您的私有**中生成的私有**。您还需要使用 Linux 实例的公有 DNS 地址。

以下示例将 Sample_file.txt 文件从 Windows 计算机上的 C:\ 驱动器传输到 Amazon Linux 实例上的 ec2-user 主目录:

 

pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt ec2-user@public_dns:/home/ec2-user/Sample_file.txt

(仅限 IPv6) 以下示例使用实例的 IPv6 地址传输文件 Sample_file.txt。IPv6 地址必须以方括号 ([]) 括起。

 

pscp -i C:\path\my-key-pair.ppk C:\path\Sample_file.txt ec2-user@[ipv6-address]:/home/ec2-user/Sample_file.txt

使用 WinSCP 将文件传输到您的 Linux 实例

WinSCP 是适用于 Windows 的基于 GUI 的文件管理器,您可以通过它来使用 SFTP、SCP、FTP 和 FTPS 协议将文件上传并传输到远程计算机。通过 WinSCP,您可以将 Windows 计算机中的文件拖放到 Linux 实例或同步这两个系统之间的所有目录结构。

要使用 WinSCP,您需要使用在使用 PuTTYgen 转换您的私有**中生成的私有**。您还需要使用 Linux 实例的公有 DNS 地址。

  1. 从 WinSCP :: Official Site :: Download 上下载并安装 WinSCP。对于大多数用户而言,采用默认安装选项就可以了。

  2. 启动 WinSCP。

  3. WinSCP 登录屏幕中,对于 Host name,请输入实例的公有 DNS 主机名称或公有 IPv4 地址。

    (仅限 IPv6) 要使用实例的 IPv6 地址登录,请输入实例的 IPv6 地址。

  4. 对于 User name (用户名),请输入默认的 AMI 用户名。

    • 对于 Amazon Linux AMI,用户名为 ec2-user

    • 对于 Centos AMI,用户名称是 centos

    • 对于 Debian AMI,用户名称是 adminroot

    • 对于 Fedora AMI,用户名为 ec2-userfedora

    • 对于 RHEL AMI,用户名称是 ec2-userroot

    • 对于 SUSE AMI,用户名称是 ec2-userroot

    • 对于 Ubuntu AMI,用户名称是 ubunturoot

    • 另外,如果 ec2-userroot 无法使用,请与 AMI 供应商核实。

  5. 为您的实例指定私有**。对于 Private key,请输入私有**的路径,或选择“...”按钮以浏览文件。对于较新版本的 WinSCP,请选择 Advanced 以打开高级站点设置,然后在 SSH 下面选择 Authentication 以查找 Private key file 设置。

    以下是 WinSCP 版本 5.9.4 中的屏幕截图:

    WinSCP Advanced 屏幕

    WinSCP 需要 PuTTY 私有**文件 (.ppk)。您可以使用 PuTTYgen 将 .pem 安全**文件转换成 .ppk 格式。有关更多信息,请参阅 使用 PuTTYgen 转换您的私有**。

  6. (可选) 在左侧面板中,选择 Directories,然后对于 Remote directory,请输入要将文件添加到其中的目录路径。对于较新版本的 WinSCP,请选择 Advanced 以打开高级站点设置,然后在 Environment 下面选择 Directories 以查找 Remote directory 设置。

  7. 选择 Login 进行连接,然后选择 Yes,将主机指纹添加到主机缓存。

    WinSCP 屏幕

  8. 建立连接后,在连接窗口中,您的 Linux 实例显示在右侧,本地计算机显示在左侧。您可以直接将文件从本地计算机拖放到远程文件系统。有关 WinSCP 的更多信息,请参阅 Table of Contents :: WinSCP 中的项目文档。

    如果您收到一个“Cannot execute SCP to start transfer”(无法执行 SCP 以开始传输) 错误,必须先在 Linux 实例上安装 scp。对于某些操作系统,该命令会位于 openssh-clients 程序包中。对于 Amazon Linux 变体 (如经 Amazon ECS 优化的 AMI),使用以下命令安装 scp.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1544579.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python基础学习笔记(二)

Python基础语法 注释 注释有: 单行注释、多行注释、文档注释。 单行注释采用 # 符号,后面跟随的都是注释内容多行注释采用 (三个单引号) 或者 """(三个双引号) 包围文档注释采用 """ 包围,一般出现在模块,类,…

AI:Nvidia官网人工智能大模型工具合集(文本生成/图像生成/视频生成)的简介、使用方法、案例应用之详细攻略

AI:Nvidia官网人工智能大模型工具合集(文本生成/图像生成/视频生成)的简介、使用方法、案例应用之详细攻略 目录 Nvidia官网人工智能大模型工具合集的简介 1、网站主要功能包括: Nvidia官网人工智能大模型工具合集的使用方法 1、SDXL-Turbo的使用 2、GEMMA-7B的…

MySQL三种开窗函数详细用法,图文详解

开窗函数的详细用法 第一章、开窗函数的语法1.1)从聚合开窗函数讲起1.2)开窗函数之取值1.3)排名开窗函数 第一章、开窗函数的语法 开窗函数的语法为:over(partition by 列名1 order by 列名2 ),括号中的两个关键词par…

MP4如何把视频转MOV格式? MP4视频转MOV格式的技巧

在现代的数字媒体时代,视频格式转换成为了许多用户必须掌握的技能。特别是将MP4视频转换为MOV格式,这对于需要在Apple设备上播放或编辑视频的用户来说尤为重要。本文将详细介绍如何将MP4视频转换为MOV格式,帮助读者轻松应对不同设备和平台的需…

JavaEE企业开发新技术4

2.16 模拟Spring IOC容器功能-1 2.17 模拟Spring IOC容器功能-2 什么是IOC? 控制反转,把对象创建和对象之间的调用过程交给Spring框架进行管理使用IOC的目的:为了耦合度降低 解释: 模仿 IOC容器的功能,我们利用 Map…

Android内存优化项目经验分享 兼顾效率与性能

背景 项目上线一段时间后,回顾重要页面 保证更好用户体验及生产效率,做了内存优化和下载导出优化,具体效果如最后的一节的表格所示。 下面针对拍摄流程的两个页面 预览页 导出页优化实例进行介绍: 一.拍摄前预览页面优化 预览效果问题 存在…

2024-简单点-pandas

pandas pandas to numpy 尽量不用.values提取数据 numexpr 和 bottleneck加速 布尔操作 describe 自定义describe .pipe df.apply 行或者列级别函数级别应用

更好,更快,更健壮的Android时区更新方式

更好,更快,更健壮的Android时区更新方式 又到了一年一度我们要调整时钟的时候了!哦,等等,你的安卓设备是不是已经自动调整了?对于许多生活在各国的安卓用户来说,这可能并不奇怪。例如,在美国、欧盟和英国,政府已经有一段时间没有改变他们的时间立法,因此用户每天早上…

【PyTorch][chapter 24][李宏毅深度学习][ CycleGAN]【理论】

摘要(Abstract): 本篇主要参考论文分享一下CycleGAN. CycleGAN是实现不同图像之间风格的转换,并且样本数据无需配对即可实现转换 图像到图像的转换是一类视觉和图形问题,其目标是使用对齐图像对的训练集来学习输入图像和输出图像之间的映射(P…

微服务高级篇(四):多级缓存:Nginx本地缓存 --- Redis缓存 --- 进程缓存

文章目录 一、多级缓存概念二、准备工作【导入案例,并搭建Nginx反向代理】2.1 导入商品案例2.1.1 安装MySQL2.1.2 导入SQL2.1.3 导入Demo工程2.1.4 启动2.1.5 导入商品查询页面 三、JVM进程缓存【第三级缓存】3.1 本地进程缓存与分布式缓存的区别3.2 本地进程缓存&a…

厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能原理篇

接着上一篇《厨余垃圾处理设备工业监控PLC连接APP小程序智能软硬件开发之功能结构篇》继续总结一下厨余垃圾处理设备智能软硬件统的原理。所有的软硬件系统全是自己一人独自开发,看法和角度难免有局限性。希望抛砖引玉,将该智能软硬件系统分享给更多有类…

字节算法岗二面,凉凉。。。

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 汇总…

电脑如何更新AMD独立显卡驱动?安装官方驱动的方法来了!

前言 有小伙伴在电脑上安装了独立显卡之后,总会用驱动人生或者驱动精灵等软件给独立显卡安装驱动。这种安装方法并不能说是错的,反正能用就行。 安装官方驱动的办法其实很简单,现在独立显卡一共就那么几家,最常见的显卡就是Nvidi…

【Maven】高效入门

Maven依赖管理项目构建工具 目录 文章目录 Maven依赖管理项目构建工具目录一、Maven简介1、为什么学习Maven1.1、Maven是一个依赖管理工具1.2、Maven是一个构建工具1.3、结论 2. Maven介绍3. Maven软件工作原理模型图(了解) 二、Maven安装和配置1. Maven…

iOS-UIFont 实现三方字体的下载和使用

UIFont 系列传送门 第一弹加载本地字体:iOS UIFont-新增第三方字体 第二弹加载线上字体:iOS-UIFont 实现三方字体的下载和使用 前言 在上一章我们完成啦如何加载使用本地的字体。如果我们有很多的字体可供用户选择,我们当然可以全部使用本地字体加载方式,可是这样就增加了…

移动硬盘盒结合PD技术为电脑供电:一种便携高效的供电新方案

在数字化时代,电脑已经成为我们生活和工作中不可或缺的工具。而在电脑的使用过程中,供电问题一直是我们需要关注的重要方面。近年来,随着技术的不断进步,移动硬盘盒子与PD(Power Delivery)技术的结合&#…

技术周刊 117 期:Visual Copilot、INP、Kimi 支持 200 万字上下文、Grok 开源、Figure 01、Open Sora 开源

美味值:🌟🌟🌟🌟🌟 口味:金骏眉 大家好,我是童欧巴。老规矩,咱们先来看技术资讯。 技术资讯 前端 VitePress (早就应该) 1.0 发布MistCSS,只使用 CSS 来…

QT环境搭建

学习QT 一、QT环境搭建二、QT的SDK下载三、认识QT SDK 中自带的一些程序 一、QT环境搭建 QT开发环境,需要安装三个部分。 c编译器(gcc、cl.exe……不是visual studio)QT SDK(QT SDK里面已经内置了C编译器;SDK就是软件…

【网络爬虫】(1) 网络请求,urllib库介绍

各位同学好,今天开始和各位分享一下python网络爬虫技巧,从基本的函数开始,到项目实战。那我们开始吧。 1. 基本概念 这里简单介绍一下后续学习中需要掌握的概念。 (1)http 和 https 协议。http是超文本传输&#xf…

【考研数学二】线性代数重点笔记

目录 第一章 行列式 1.1 行列式的几何意义 1.2 什么是线性相关,线性无关 1.3 行列式几何意义 1.4 行列式求和 1.5 行列式其他性质 1.6 余子式 1.7 对角线行列式 1.8 分块行列式 1.9 范德蒙德行列式 1.10 爪形行列式的计算 第二章 矩阵 2.1 初识矩阵 2…