Open Yarn opened 3 months ago
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 -o BatchMode=yes
which should disable any interactive prompts.
https://man.archlinux.org/man/ssh_config.5.en#BatchMode
I think -o StrictHostKeyChecking=yes
would make this specific case fail non-interactively.
-o PasswordAuthentication=no
I think would cover #9626
https://man.archlinux.org/man/ssh_config.5.en#StrictHostKeyChecking https://man.archlinux.org/man/ssh_config.5.en#PasswordAuthentication
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 pyproject.toml
[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = [""]
[tool.poetry.dependencies]
poetry = { "git" = "git@github.com: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
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