You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PuTTY连接AWS EC2实例时出现不支持的身份验证方法问题

如何通过PuTTY连接AWS EC2实例时获取日志并排查问题?

嘿,作为刚接触SSH和AWS的新手,能搞定密钥生成、PuTTY配置这些步骤已经很厉害了!关于获取连接日志以及排查可能的问题,我给你整理了几个实用的方法,帮你顺利推进Discord机器人的部署:

一、开启PuTTY的连接日志记录

PuTTY自带完整的会话日志功能,开启它就能捕获所有连接过程的细节:

  • 打开PuTTY配置窗口,在左侧菜单找到Logging(日志)选项
  • 在「Session logging」区域,选择All session output(所有会话输出),这样能记录从发起连接到交互的全部内容
  • 设置日志文件的保存路径和文件名(比如C:\putty_ec2_connection_log.txt)
  • 回到「Session」选项卡,保存你的配置(避免下次重复设置),然后点击「Open」发起连接,所有连接相关的日志都会自动写入你指定的文件

二、查看AWS EC2实例端的系统日志

如果PuTTY的日志没找到问题,还可以通过AWS控制台查看实例本身的系统日志:

  • 登录AWS控制台,进入EC2服务页面
  • 找到你的目标实例,右键点击选择「Monitor and troubleshoot」→「Get system log」,这里能看到实例启动时的系统输出,包括SSH服务的启动状态、认证失败记录等关键信息
  • 另外,选择「Get console output」可以查看实例的控制台输出,有时候能发现密钥匹配、权限配置相关的错误提示

三、再确认几个容易忽略的细节

虽然你说信息都核对过了,但还是可以快速检查这几点:

  • 安全组规则:确保你的EC2实例所在的安全组已经开放了22端口(SSH),并且允许你的本地IP访问(测试阶段可以临时允许0.0.0.0/0,但测试完成后一定要改回指定IP,保证安全)
  • 私钥格式:确认你已经用PuTTYgen把生成的RSA私钥转换成了PuTTY支持的.ppk格式,导入PuTTY时没有选错文件
  • 连接用户名:AWS不同系统的默认用户名不一样——Amazon Linux 2是ec2-user,Ubuntu是ubuntu,CentOS是centos,别输错了

四、部署Discord机器人的小建议

等你成功连接到实例后,给你个小技巧:用systemd让机器人后台持续运行,这样断开SSH连接也不会停止。步骤很简单:

  1. 创建一个服务文件,比如/etc/systemd/system/discord-bot.service,内容如下:
[Unit]
Description=Discord Bot Service
After=network.target

[Service]
User=ec2-user  # 这里替换成你用的实例用户名
WorkingDirectory=/home/ec2-user/discord-bot  # 替换成机器人代码所在目录
ExecStart=/usr/bin/node bot.js  # 替换成机器人的启动命令
Restart=always  # 意外退出时自动重启

[Install]
WantedBy=multi-user.target
  1. 执行以下命令启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl start discord-bot
sudo systemctl enable discord-bot
  1. 之后可以用journalctl -u discord-bot查看机器人的运行日志,方便排查问题

内容的提问来源于stack exchange,提问作者Lunesdale Music

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:51:06