[GH-ISSUE #262] Could not open a SFTP by private key. #3114

Closed
opened 2026-03-13 01:46:48 +03:00 by kerem · 5 comments
Owner

Originally created by @wolvth on GitHub (Jun 20, 2022).
Original GitHub issue: https://github.com/1Remote/1Remote/issues/262

Originally assigned to: @VShawn on GitHub.

win11,store版本,桌面版本
ssh导入openssh格式的key登录不了。
转换成ppk可以登录,但是sftp依旧验证不通过

Originally created by @wolvth on GitHub (Jun 20, 2022). Original GitHub issue: https://github.com/1Remote/1Remote/issues/262 Originally assigned to: @VShawn on GitHub. win11,store版本,桌面版本 ssh导入openssh格式的key登录不了。 转换成ppk可以登录,但是sftp依旧验证不通过
kerem 2026-03-13 01:46:48 +03:00
Author
Owner

@VShawn commented on GitHub (Jun 21, 2022):

  1. SSH 使用的是 KiTTY,KiTTY 不支持 openssh key,必须先转到 ppk 才能用,除非 KiTTY 项目进行了改进,否则我没办法支持 openssh key.
  2. SFTP 是直接打开一个 SFTP,还是从 SSH 中选择“同时打开SFTP”选项?SFTP 的密钥登录我很久没测试过了(因为SSH SFTP[都是我自己的服务器,全都用账号密码登录,懒得设置私钥),可能在某次改版后失效。

image

<!-- gh-comment-id:1160983673 --> @VShawn commented on GitHub (Jun 21, 2022): 1. SSH 使用的是 KiTTY,KiTTY 不支持 openssh key,必须先转到 ppk 才能用,除非 KiTTY 项目进行了改进,否则我没办法支持 openssh key. 2. SFTP 是直接打开一个 SFTP,还是从 SSH 中选择“同时打开SFTP”选项?SFTP 的密钥登录我很久没测试过了(因为SSH SFTP[都是我自己的服务器,全都用账号密码登录,懒得设置私钥),可能在某次改版后失效。 ![image](https://user-images.githubusercontent.com/10143738/174692038-c9fc8e5b-9efc-4824-a128-789a5a7bfcfd.png)
Author
Owner

@wolvth commented on GitHub (Jun 21, 2022):

直接打开,SSH选择同时打开都不行。调用winscp也验证失败。独立使用winscp没问题。

<!-- gh-comment-id:1161745926 --> @wolvth commented on GitHub (Jun 21, 2022): 直接打开,SSH选择同时打开都不行。调用winscp也验证失败。独立使用winscp没问题。
Author
Owner

@VShawn commented on GitHub (Jun 23, 2022):

自带的 SFTP 的 PPK 登录我得再研究一下。

WinSCP 无法登录是因为我没有写私钥的传参,前文说过了因为我不用私钥登录所以没写

image

就是这个,我现在写的是传账号和密码

参考 https://winscp.net/eng/docs/commandline#parameters

winscp.exe [mysession] [/privatekey=<file> [/passphrase=<passphrase>]]
winscp.exe scp://test@example.com:2222/ /privatekey=mykey.ppk

你可以试着把命令行参数改成:

sftp://%PRM_USERNAME%@%PRM_HOSTNAME%:%PRM_PORT% /privatekey=%PRM_SSH_PRIVATE_KEY_PATH%
<!-- gh-comment-id:1163819508 --> @VShawn commented on GitHub (Jun 23, 2022): 自带的 SFTP 的 PPK 登录我得再研究一下。 WinSCP 无法登录是因为我没有写私钥的传参,前文说过了因为我不用私钥登录所以没写 ![image](https://user-images.githubusercontent.com/10143738/175186376-95991d64-c6c9-461b-8c4d-5bc6d72ea530.png) 就是这个,我现在写的是传账号和密码 参考 https://winscp.net/eng/docs/commandline#parameters ``` winscp.exe [mysession] [/privatekey=<file> [/passphrase=<passphrase>]] winscp.exe scp://test@example.com:2222/ /privatekey=mykey.ppk ``` 你可以试着把命令行参数改成: ``` sftp://%PRM_USERNAME%@%PRM_HOSTNAME%:%PRM_PORT% /privatekey=%PRM_SSH_PRIVATE_KEY_PATH% ```
Author
Owner

@VShawn commented on GitHub (Jun 24, 2022):

sftp://%PRM_USERNAME%@%PRM_HOSTNAME%:%PRM_PORT% /privatekey=%PRM_SSH_PRIVATE_KEY_PATH%

参数测试通过

<!-- gh-comment-id:1165304684 --> @VShawn commented on GitHub (Jun 24, 2022): `sftp://%PRM_USERNAME%@%PRM_HOSTNAME%:%PRM_PORT% /privatekey=%PRM_SSH_PRIVATE_KEY_PATH%` 参数测试通过
Author
Owner

@VShawn commented on GitHub (Jun 24, 2022):

问题已修复。

经查内置的 SFTP 客户端基于 SSH.NET 开发,它仅支持 OpenSSH key,所以致使本软件的 SFTP via privacy key 失效。先问题修复后,软件内置 SSH 仅支持 PUTTY key,内置的 SFTP 仅支持 OpenSSH key,体验相当奇怪。经测试 发现,WinSCP 支持 Putty OpenSSH 两种格式的私钥,因此推荐使用 WinSCP 作为 SFTP 客户端。

<!-- gh-comment-id:1165495049 --> @VShawn commented on GitHub (Jun 24, 2022): 问题已修复。 经查内置的 SFTP 客户端基于 SSH.NET 开发,它仅支持 OpenSSH key,所以致使本软件的 SFTP via privacy key 失效。先问题修复后,软件内置 SSH 仅支持 PUTTY key,内置的 SFTP 仅支持 OpenSSH key,体验相当奇怪。经测试 发现,WinSCP 支持 Putty OpenSSH 两种格式的私钥,因此推荐使用 WinSCP 作为 SFTP 客户端。
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/1Remote#3114
No description provided.