[GH-ISSUE #3316] 之前密码登陆方式可行,更换私匙登陆模式后无法登陆 #2228

Open
opened 2026-02-27 00:06:35 +03:00 by kerem · 8 comments
Owner

Originally created by @gszhaochengyong on GitHub (Mar 18, 2024).
Original GitHub issue: https://github.com/electerm/electerm/issues/3316

Electerm Version and download file extension(Electerm版本和下载文件后缀)

1.25.50和1.37.110都一样。exe安装包

Platform detail (平台详情)

win10

What steps will reproduce the bug?(重新问题的详细步骤)

版本:1.37.110
公司以前服务器是用密码帐号远程登陆的,最近更换登陆模式,使用密钥登陆。
之前密码帐号登陆模式是正常可用的。
现在换成密钥登陆,测试连接时提示:“connection failed:test failed”,如图1
保存并连接弹出输入密码,输入以前的密码无效,重复弹出输入密码,一直是这样。无法正确登陆。如图2
图1
图2

使用WINSCP可以登陆进去。
我对公钥和私钥这块不是很懂,是不是这方面有关系,有任何其他详情可以联系我 309938723?

What should have happened?(期望的结果)

匙登陆模式登陆正常

Would this happen in other terminal app(是否能够在其他同类软件重现这个问题)

WIN10 WIN11都是如此情况。

Additional information(其他任何相关信息)

下面是登陆模式更改参照信息
第一阶段:提交公钥/切结书阶段

  1. 根据服务器权限,签署切结书(此步骤已基本完成)

  2. 在本人办公电脑生成公私钥对
    a. 打开"命令提示符"应用。一般打开后,程序运行在C:\Users<电脑登录用户名>目录下;

    b. 执行ssh-keygen -t rsa -f id_rsa_<工号>,一直按Enter直至结束。ssh-keygen -t rsa -f id_rsa_F1334132

    c. 打开目录C:\Users<电脑登录用户名>,找到两个文件id_rsa_<工号>以及id_rsa_<工号>.pub,剪切到C:\Users<电脑登录用户名>.ssh<服务器IP>;若没有.ssh目录,则创建。
    示例:
    我的目录名为C:\Users\shawn
    两文件文件名为id_rsa_工号和id_rsa_工号.pub;其中id_rsa_工号为私钥,id_rsa_工号.pub为公钥
    文件另存为路径为C:\Users\shawn.ssh\192 //以10.141.336.192服务器为例

    d. 将公钥文件id_rsa_<工号>.pub 上传至对应的\10.187.46.196_For_files\Shawn\切结书与公钥 服务器IP目录下
    e. 有多个服务器权限的,重复步骤a-d

第二阶段:金钥保存
1. 当提交的公钥文件送至ETS部门签发后,ETS会回传一个金钥文件(此步骤由我完成)
2. 金钥文件格式为 <工号>-cert.pub, 如:工号-cert.pub;
3. 本地公私钥文件重命名
a. 进入对应服务器公私钥存放路径,此路径在第一阶段步骤2小节c有描述,以192服务器为例:C:\Users\shawn.ssh\192
b. 将私钥id_rsa_<工号>改为<工号>,如:id_rsa_工号,改为工号
c. 将公钥id_rsa_<工号>.pub改为<工号>.pub, 如:id_rsa_工号.pub,改为工号.pub
d. 将金钥<工号>-cert.pub拷贝至此目录,如工号-cert.pub
e. 检查:此目录C:\Users\shawn.ssh\192下应当由三个文件,私钥工号,公钥工号.pub,金钥工号-cert.pub
4. 远端中央服务器添加金钥
a. 使用Winscp将金钥拷贝至目标服务器
b. 使用putty或其他终端工具,登录至目标服务器. 执行以下指令:
mkdir -p .ssh
chmod 700 .ssh
cat <工号>-cert.pub >> ~/.ssh/authorized_keys //<工号>-cert.pub为金钥
chmod 600 ~/.ssh/authorized_keys
c. 使用putty或其他终端工具,登录至目标服务器. 检查金钥是否导入成功
cat ~/.ssh/authorized_keys | grep "ssh-rsa-cert-v01@openssh.com"
有值返回代表成功

第三阶段: 切换登录方式
1. putty/winscp/sshfs/Terminal 等工具从GSOC升级到新版本
2. 加载私钥:
a. Terminal终端工具
设置->命令行 由ssh.exe 工号@10.141.336.192改为ssh.exe -i C:\Users\shawn.ssh\192\工号 工号@10.141.336.192,保存
b. Winscp工具
选择登录站点,点击编辑->高级->SSH->验证->密钥文件,选择私钥文件C:\Users\shawn.ssh\192\工号。
此时,Winscp会提示"你希望将OpenSSH私钥转换为Putty格式吗",点击确定,并将工号.ppk另存为在同一目录C:\Users\shawn.ssh\192\工号。
此时密钥文件为C:\Users\shawn.ssh\192\工号.ppk, 点击确定, 保存。
b. putty终端工具
Connection->SSH->Auth->Credentials->Private key files for authentication,选择私钥文件C:\Users\shawn.ssh\192\工号.ppk
注意,常规私钥文件是工号,需使用上一步骤winscp生成的工号.ppk格式私钥。

Originally created by @gszhaochengyong on GitHub (Mar 18, 2024). Original GitHub issue: https://github.com/electerm/electerm/issues/3316 ### Electerm Version and download file extension(Electerm版本和下载文件后缀) 1.25.50和1.37.110都一样。exe安装包 ### Platform detail (平台详情) win10 ### What steps will reproduce the bug?(重新问题的详细步骤) 版本:1.37.110 公司以前服务器是用密码帐号远程登陆的,最近更换登陆模式,使用密钥登陆。 之前密码帐号登陆模式是正常可用的。 现在换成密钥登陆,测试连接时提示:“connection failed:test failed”,如图1 保存并连接弹出输入密码,输入以前的密码无效,重复弹出输入密码,一直是这样。无法正确登陆。如图2 ![图1](https://github.com/electerm/electerm/assets/32763397/a9bdf906-e353-4a63-8874-6d28d415b5fa) ![图2](https://github.com/electerm/electerm/assets/32763397/918119db-9525-4226-9405-ef6f4b2901ec) 使用WINSCP可以登陆进去。 我对公钥和私钥这块不是很懂,是不是这方面有关系,有任何其他详情可以联系我 309938723? ### What should have happened?(期望的结果) 匙登陆模式登陆正常 ### Would this happen in other terminal app(是否能够在其他同类软件重现这个问题) WIN10 WIN11都是如此情况。 ### Additional information(其他任何相关信息) 下面是登陆模式更改参照信息 第一阶段:提交公钥/切结书阶段 1. 根据服务器权限,签署切结书(此步骤已基本完成) 2. 在本人办公电脑生成公私钥对 a. 打开"命令提示符"应用。一般打开后,程序运行在C:\Users\<电脑登录用户名>目录下; b. 执行ssh-keygen -t rsa -f id_rsa_<工号>,一直按Enter直至结束。ssh-keygen -t rsa -f id_rsa_F1334132 c. 打开目录C:\Users\<电脑登录用户名>,找到两个文件id_rsa_<工号>以及id_rsa_<工号>.pub,剪切到C:\Users\<电脑登录用户名>\.ssh\<服务器IP>;若没有.ssh目录,则创建。 示例: 我的目录名为C:\Users\shawn 两文件文件名为id_rsa_工号和id_rsa_工号.pub;其中id_rsa_工号为私钥,id_rsa_工号.pub为公钥 文件另存为路径为C:\Users\shawn\.ssh\192 //以10.141.336.192服务器为例 d. 将公钥文件id_rsa_<工号>.pub 上传至对应的\\10.187.46.196\_For_files\Shawn\切结书与公钥 服务器IP目录下 e. 有多个服务器权限的,重复步骤a-d 第二阶段:金钥保存 1. 当提交的公钥文件送至ETS部门签发后,ETS会回传一个金钥文件(此步骤由我完成) 2. 金钥文件格式为 <工号>-cert.pub, 如:工号-cert.pub; 3. 本地公私钥文件重命名 a. 进入对应服务器公私钥存放路径,此路径在第一阶段步骤2小节c有描述,以192服务器为例:C:\Users\shawn\.ssh\192 b. 将私钥id_rsa_<工号>改为<工号>,如:id_rsa_工号,改为工号 c. 将公钥id_rsa_<工号>.pub改为<工号>.pub, 如:id_rsa_工号.pub,改为工号.pub d. 将金钥<工号>-cert.pub拷贝至此目录,如工号-cert.pub e. 检查:此目录C:\Users\shawn\.ssh\192下应当由三个文件,私钥工号,公钥工号.pub,金钥工号-cert.pub 4. 远端中央服务器添加金钥 a. 使用Winscp将金钥拷贝至目标服务器 b. 使用putty或其他终端工具,登录至目标服务器. 执行以下指令: mkdir -p .ssh chmod 700 .ssh cat <工号>-cert.pub >> ~/.ssh/authorized_keys //<工号>-cert.pub为金钥 chmod 600 ~/.ssh/authorized_keys c. 使用putty或其他终端工具,登录至目标服务器. 检查金钥是否导入成功 cat ~/.ssh/authorized_keys | grep "ssh-rsa-cert-v01@openssh.com" 有值返回代表成功 第三阶段: 切换登录方式 1. putty/winscp/sshfs/Terminal 等工具从GSOC升级到新版本 2. 加载私钥: a. Terminal终端工具 设置->命令行 由ssh.exe 工号@10.141.336.192改为ssh.exe -i C:\Users\shawn\.ssh\192\工号 工号@10.141.336.192,保存 b. Winscp工具 选择登录站点,点击编辑->高级->SSH->验证->密钥文件,选择私钥文件C:\Users\shawn\.ssh\192\工号。 此时,Winscp会提示"你希望将OpenSSH私钥转换为Putty格式吗",点击确定,并将工号.ppk另存为在同一目录C:\Users\shawn\.ssh\192\工号。 此时密钥文件为C:\Users\shawn\.ssh\192\工号.ppk, 点击确定, 保存。 b. putty终端工具 Connection->SSH->Auth->Credentials->Private key files for authentication,选择私钥文件C:\Users\shawn\.ssh\192\工号.ppk 注意,常规私钥文件是工号,需使用上一步骤winscp生成的工号.ppk格式私钥。
Author
Owner

@zxdong262 commented on GitHub (Mar 18, 2024):

可以验证下最新版的情况吗

<!-- gh-comment-id:2003188206 --> @zxdong262 commented on GitHub (Mar 18, 2024): 可以验证下最新版的情况吗
Author
Owner

@gszhaochengyong commented on GitHub (Mar 18, 2024):

Terminal窗口执行 ssh.exe -i C:\Users\shawn.ssh\192\工号 工号@10.141.331.192可以成功,为什么书签设置里的私匙就不行呢?

<!-- gh-comment-id:2003354431 --> @gszhaochengyong commented on GitHub (Mar 18, 2024): Terminal窗口执行 ssh.exe -i C:\Users\shawn\.ssh\192\工号 工号@10.141.331.192可以成功,为什么书签设置里的私匙就不行呢?
Author
Owner

@gszhaochengyong commented on GitHub (Mar 18, 2024):

可以验证下最新版的情况吗

最新版也有一样的情况 ,有没有可能根本就没有走私钥这种方法,还是走的原来的密码方式?但密码方式这种原来登陆模式给禁掉了,现有方式只支持私匙方式。

<!-- gh-comment-id:2003359043 --> @gszhaochengyong commented on GitHub (Mar 18, 2024): > 可以验证下最新版的情况吗 最新版也有一样的情况 ,有没有可能根本就没有走私钥这种方法,还是走的原来的密码方式?但密码方式这种原来登陆模式给禁掉了,现有方式只支持私匙方式。
Author
Owner

@zxdong262 commented on GitHub (Mar 18, 2024):

原来的密码没有删除?可以试试把密码删除掉吗?

<!-- gh-comment-id:2003600984 --> @zxdong262 commented on GitHub (Mar 18, 2024): 原来的密码没有删除?可以试试把密码删除掉吗?
Author
Owner

@gszhaochengyong commented on GitHub (Mar 19, 2024):

密码都删除 了,再登陆,输入密码后提示"error:read ECONNRESET",然后卡住了,进不去。

<!-- gh-comment-id:2005548240 --> @gszhaochengyong commented on GitHub (Mar 19, 2024): 密码都删除 了,再登陆,输入密码后提示"error:read ECONNRESET",然后卡住了,进不去。
Author
Owner

@gszhaochengyong commented on GitHub (Mar 20, 2024):

还需要提供什么信息协助找原因吗?

<!-- gh-comment-id:2008477742 --> @gszhaochengyong commented on GitHub (Mar 20, 2024): 还需要提供什么信息协助找原因吗?
Author
Owner

@zxdong262 commented on GitHub (Mar 24, 2024):

还需要提供什么信息协助找原因吗?

我试了是可以的,可能有其他的问题我再验证下

<!-- gh-comment-id:2016791677 --> @zxdong262 commented on GitHub (Mar 24, 2024): > 还需要提供什么信息协助找原因吗? 我试了是可以的,可能有其他的问题我再验证下
Author
Owner

@gszhaochengyong commented on GitHub (Apr 1, 2024):

私匙方式加载私匙文件这种方法没法连接服务器了。
命令行方式连接成功后,只有文件管理器,没有sftp.
这个问题解决不了,在考虑换工具了。可惜了,挺好的一个工具,一些主要功能bug还无法定位处理。楼主继续努力啊。

<!-- gh-comment-id:2029269721 --> @gszhaochengyong commented on GitHub (Apr 1, 2024): 私匙方式加载私匙文件这种方法没法连接服务器了。 命令行方式连接成功后,只有文件管理器,没有sftp. 这个问题解决不了,在考虑换工具了。可惜了,挺好的一个工具,一些主要功能bug还无法定位处理。楼主继续努力啊。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/electerm#2228
No description provided.