-
Notifications
You must be signed in to change notification settings - Fork 2.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Poetry hangs resolving ssh dependencies from unknown hosts #9618
Comments
Too bad, probably. I don't know any way to tell ssh always to fail non-interactively here. If it shows up in verbose mode, that'll probably have to be good enough You provided no way to reproduce this. |
After writing the below I noticed https://man.archlinux.org/man/ssh_config.5.en#BatchMode I think
https://man.archlinux.org/man/ssh_config.5.en#StrictHostKeyChecking |
to reproduce the issue comment out any entries for github.com in ~/.ssh/known_hosts and ensure no system level ssh configuration disables host key checking for that host then use the following [tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = [""]
[tool.poetry.dependencies]
poetry = { "git" = "[email protected]:python-poetry/poetry.git" } |
poetry uses dulwich for git clones, so next step is to persuade dulwich to use that parameter then suggest you experiment with something like diff --git a/src/poetry/vcs/git/backend.py b/src/poetry/vcs/git/backend.py
index 0fc00f0b..b3b28026 100644
--- a/src/poetry/vcs/git/backend.py
+++ b/src/poetry/vcs/git/backend.py
@@ -194,7 +194,7 @@ class Git:
client: GitClient
path: str
- kwargs: dict[str, str] = {}
+ kwargs = {"ssh_command": "ssh -o BatchMode=yes"}
credentials = get_default_authenticator().get_credentials_for_git_url(url=url)
if credentials.password and credentials.username: and submit a merge request if you can get it to work satisfactorily |
That isn't the only "failure case" for this though, the bug is that the "Resolving dependencies" message erases messages from the SSH client. E.g. if you are prompted to type in your passphrase to unlock your ssh key, that message gets erased and unless you notice the message flash for an instant and realize what it is, you'll spend hours trying to figure out why adding a (In other words, dulwich seems to be doing the right thing, if only Poetry didn't overwrite the prompts.) |
Description
Running poetry lock will hang forever without any indication of why.
Running poetry lock -vvv shows ssh's interactive prompt, e.g.
This prompt can be accepted and future runs can succeed.
Workarounds
Run
poetry lock -vvv
and interact with the ssh promptPoetry Installation Method
pip
Operating System
Arch
Poetry Version
1.8.3
Poetry Configuration
Python Sysconfig
No response
Example pyproject.toml
No response
Poetry Runtime Logs
issue does not occur with `-vvv`
The text was updated successfully, but these errors were encountered: