惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Y
Y Combinator Blog
IT之家
IT之家
博客园_首页
量子位
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
博客园 - 聂微东
罗磊的独立博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Hugging Face - Blog
Hugging Face - Blog
V
V2EX
爱范儿
爱范儿
大猫的无限游戏
大猫的无限游戏
宝玉的分享
宝玉的分享
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
Microsoft Azure Blog
Microsoft Azure Blog
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
Engineering at Meta
Engineering at Meta
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com

博客园 - lzlvv

linux sftp 设置了用户对目录有 0700权限,但在上传时报 Permission denied错误 linux 服务器设置 时 /etc/passwd设置为nologin时,登录SFTP会报 No supported authentication methods available win10系统已经映射的网络驱动器在其他应用软件无法读到解决方案 Linux SFTP服务器部署 linux添加用户并赋予root权限 C# Socket通信 Socket传输结构数据 Windows Server 2016如何关闭和打开防火墙 | 详细教程 在‌Windows Server 2016中显示‌桌面图标的方法 C#常用正则表达式 完全图解RAID存储技术:RAID 0、1、5、6、10、50、60 MySQL 5.7 安装教程(Win 10) 在 Windows 使用 PuTTYgen 上生成 SSH 密钥 NPOI使用手册 MSSQL中添加链接数据库 Windows 批处理(bat)语法大全 Oracle ODP.NET ConnectionString接池及连接参数 SQL update select结合语句详解及应用 从FoxPro数据库中提取结构/索引到Excel
debug1: Authentications that can continue: publickey sgrp...
lzlvv · 2026-03-13 · via 博客园 - lzlvv

根据你提供的详细日志,SFTP连接失败的原因是服务器拒绝了客户端提供的密钥 /home/rtprod/.ssh/gtht_2048/id_rsa

日志中 "we sent a publickey packet, wait for reply" 和 "receive packet: type 51" (SSH协议中表示认证失败的消息) 的组合,明确指示了这一点-3-8

结合你提供的日志和搜索到的相关信息,最可能的原因及解决方法如下:

1. 核心原因:公钥未授权或密钥不匹配

这是最直接的可能性。你客户端使用的私钥 /home/rtprod/.ssh/gtht_2048/id_rsa 所对应的公钥,没有被添加到服务器上用户 sgrptprod 的授权列表中-1-3-8

  • 检查服务器端:需要登录到服务器 114.141.166.109(如果能通过其他方式登录,如控制台或其他用户),检查 /home/sgrptprod/.ssh/authorized_keys 文件。

  • 验证密钥:确认该文件中是否包含了你的公钥 /home/rtprod/.ssh/gtht_2048/id_rsa.pub 的内容。

  • 如果不包含:你需要将本地公钥的内容追加到服务器的 authorized_keys 文件中。可以使用 ssh-copy-id 命令(如果密码认证可用)或手动编辑文件来完成。

2. 服务器端文件权限错误

即使公钥已添加,如果服务器端的相关文件或目录权限过于开放,SSH服务会出于安全考虑拒绝认证-4-6-8

  • 权限标准:

    • 用户的家目录(/home/sgrptprod)不能是组用户或其他用户可写的(例如,应为 755 或 750-4-8

    • ~/.ssh 目录权限必须为 700 (drwx------)-3-8

    • ~/.ssh/authorized_keys 文件权限必须为 600 (-rw-------)-3-8

  • 解决方法:如果你有办法登录到服务器,可以运行以下命令修正权限:

    chmod 755 /home/sgrptprod
    chmod 700 /home/sgrptprod/.ssh
    chmod 600 /home/sgrptprod/.ssh/authorized_keys

3. 密钥格式不兼容(可能性较低,但值得留意)

你使用的私钥路径是 /home/rtprod/.ssh/gtht_2048/id_rsa,这是一个RSA密钥。

  • 问题:较新版本的 ssh-keygen 生成的私钥默认使用一种新的OpenSSH格式,而某些较旧的SFTP服务器或库可能不支持这种格式,导致认证失败-5-9

  • 特征:不兼容的私钥文件内容通常以 -----BEGIN OPENSSH PRIVATE KEY----- 开头。

  • 解决方法:如果确认是这个问题,你需要将密钥转换为传统的PEM格式。可以使用以下命令重新生成一个兼容的密钥对(注意备份旧的):

    ssh-keygen -m PEM -t rsa -b 4096 -f ~/.ssh/gtht_2048/id_rsa_new

    然后将新生成的公钥 id_rsa_new.pub 添加到服务器的 authorized_keys 文件中。

总结与建议排查步骤

  1. 第一优先:请登录到服务器,检查 /home/sgrptprod/.ssh/authorized_keys 文件是否包含了你本地私钥对应的公钥。这是80%以上的原因。

  2. 第二优先:在服务器上检查并修正 /home/sgrptprod/ 及其 .ssh 目录和 authorized_keys 文件的权限。

  3. 第三排查:如果以上都正确,请检查你本地的私钥文件(/home/rtprod/.ssh/gtht_2048/id_rsa),看其内容是否以 -----BEGIN OPENSSH PRIVATE KEY----- 开头。如果是,可以尝试转换成PEM格式。