gpt4 book ai didi

mercurial - 如何使受密码保护的 PPK 停止通过 TortoisePlink 和 KeyRing 在 TortoiseHG 中询问密码

转载 作者:行者123 更新时间:2023-12-02 13:58:22 26 4
gpt4 key购买 nike

已解决,见最后编辑

我有一个 SourceForge 存储库,并且在那里正确设置了我的 SSH key 。它工作正常。但是当我使用 TortoiseHG 将我的修改推送到存储库时,我一直被要求输入我的 PPK 的密码(因为我保护了它)。

我告诉 Mercurial 我的 PPK 是这样的:

[用户界面]
ssh = tortoiseplink.exe -ssh -i "c:\Users\my_user\SSH\my_user.ppk"

但它一直在用 PPK 的密码困扰我。我知道 Mercurial 的 KeyRing 扩展,但它是否适用于 PPK?

然后...

TortoiseHG 有这个选美工具。显然,您通过指定 -agent 来告诉 TortoiseHG 使用它,如下所示:

[用户界面]
ssh = tortoiseplink.exe -ssh -i "c:\Users\my_user\SSH\my_user.ppk"-agent

我在 Pageant 中添加了我的 key ,但是当我与 TortoiseHG 同步时,它 还是 询问我的 PPK 的密码,尽管我在 Pageant 中添加 PPK 时已经提到过。

让我烦恼的另一件事是,Pageant 在程序重新启动时“忘记”了所有键。所以有点'没用。

有什么办法可以使用 KeyRing 扩展将我的 PPK 添加到 TortoiseHG 并将密码存储在某个地方?

如果没有办法解决这个问题,我想我只会使用不 protected PPK,就是这样......

后期编辑:

这是我尝试通过 TortoiseHG 同步工具进行推送时得到的调试输出,配置如上。

% hg --repository C:\Projects\MyProject push --debug ssh://echysttas@hg.code.sf.net/p/myproject/code
pushing to ssh://echysttas@hg.code.sf.net/p/myproject/coderunning "c:\Program Files\TortoiseHg\TortoisePlink.exe" -agent echysttas@hg.code.sf.net "hg -R p/myproject/code serve --stdio"sending hello commandsending between command
在这里我收到一个密码请求,我取消了它,因为我不想继续重复我的密码

远程 Mercurial 没有合适的 react
[命令返回代码 255 Mon Nov 19 20:43:14 2012]

后期编辑 2:

我注意到一些示例使用 plink.exe 而不是 TortoisePlink.exe。好吧,我也尝试使用 plink.exe(直接来自 Putty 网站)。这产生了可喜的结果......
sending hello commandsending between commandremote: Passphrase for key "rsa-key-20121118":remote: Passphrase for key "rsa-key-20121118":
但后来,它卡在了这里。

稍后编辑 3

非常有趣的发现::- D。

它卡住了,因为我从非提升的 Explorer 调用 TortoiseHG Sync 但我从 开始了 Pageant提升总司令 .我在我的 Windows 7 上使用 UAC,这导致了问题。

如果 Pageant 是从管理员权限 Total Commander 运行的,那么 TrtoiseHG Sync 也必须从那里启动!如果这样做,它的工作原理!如果我从非提升的资源管理器启动 Pageant 并且我也从那里进行同步,它也可以工作。

完毕!

懒惰的獾我仍然将答案授予你,因为你很懒惰,你证明了自己的兴趣并帮助了我很多。虽然“它在我的机器上工作”并不是真正的答案,但它确实让我思考,你的许多文字和描述值得那个光荣的绿色复选标记,是吗? :D。

最佳答案

嗯,我可以与选美一起工作,而不会被询问密码一次
我的 SSH 线路

ssh = "c:\Program Files\_Tools\TortoiseHg\TortoisePlink.exe"
并运行 Pageant(使用已加载的私钥/PuTTY-User-Key-File/)将使我能够与 repo 进行通信而无需重新身份验证
注1: key 环对您的情况根本没有帮助,使用纯 ssh 连接(ssh 或 plink)调试选美功能
注2:要使用 key (仅需要密码)启动 Pageant,您可以使用扩展 command-line

Pageant can automatically load one or more private keys when it starts up, if you provide them on the Pageant command line. Your command line might then look like:

C:\PuTTY\pageant.exe d:\main.ppk d:\secondary.ppk

If the keys are stored encrypted, Pageant will request the passphrases on startup.

If Pageant is already running, this syntax loads keys into the existing Pageant.


添加在
尝试使用我当前的 TortoiseHG 2.6 (XP SP3 x86) 的 ssh 设置进行推送, Mercurial repo
c:\TEMP\Fiver>hg push sf
pushing to ssh://bigbadger@hg.code.sf.net/u/bigbadger/code
searching for changes
remote: adding changesets
remote: adding manifests
remote: adding file changes
remote: added 7 changesets with 39 changes to 19 files
remote: <Repository /hg/u/bigbadger/code> refresh queued.
本地仓库 hgrc
[paths]
...
sf = ssh://bigbadger@hg.code.sf.net/u/bigbadger/code
已加载到 Pageant 中的私钥,在 SF 上注册的公钥,在我的个人资料中
Mercurial.ini(相关部分)
[ui]
merge = <irrelevant>
username = <irrelevant>
ssh = "c:\Program Files\_Tools\TortoiseHg\TortoisePlink.exe"
(注意 TortoisePlink 没有其他参数)
什么都没有做了更特别的事
带日志输出的纯 THG 推送截图
Push
SF-SSH 的良好 plink+pageant session 日志
>Plink.exe -v -agent bigbadger@hg.code.sf.net
Looking up host "hg.code.sf.net"
Connecting to 216.34.181.156 port 22
Server version: SSH-2.0-OpenSSH_5.3
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 2048 86:7b:1b:12:85:35:8a:b7:98:b6:d2:97:5e:96:58:1d
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Pageant is running. Requesting keys.
Pageant has 1 SSH-2 keys
Using username "bigbadger".
Trying Pageant key #0
Authenticating with public key "github/lazybadger" from agent
Sending Pageant's response
Access granted
Opened channel for session
Allocated pty (ospeed 38400bps, ispeed 38400bps)
Started a shell/command
Last login: Tue Nov 20 03:20:48 2012 from 85.249.33.17
Server sent command exit status 1
Disconnected: All channels closed

Welcome to hg.sourceforge.net
This is a restricted Shell Account
You cannot execute anything here.

关于mercurial - 如何使受密码保护的 PPK 停止通过 TortoisePlink 和 KeyRing 在 TortoiseHG 中询问密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13443248/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com