원격 서버에 연결하기 위해 sshtunnel을 사용하고 거기에서 데이터베이스로 연결합니다. 이미 다른 곳에서 입력하지 않은 한 sshtunnel이 내 ssh_private_key_password
을 인식하지 못하는 것을 제외하고는 모든 것이 잘 작동합니다 (또는 제공 할 때 실수를 범할 가능성이 더 큽니다). 예상대로sshtunnel이 개인 키 암호를 인식하지 못합니다.
with SSHTunnelForwarder(
('my.server', 22),
ssh_username="myUsername",
ssh_pkey="~/.ssh/id_rsa",
ssh_private_key_password="myPassword",
remote_bind_address=("other.server", 3306)
) as server:
{do some stuff}
나는 별도로 "my.server"에 로그인하여 ssh를 에이전트로 저장 대화 상자에서 내 개인 키 암호를 입력하면
및 다음 위의 코드를 실행, 그것을 작동합니다. 내가 없이 이미 이전의 어느 시점에서 서버에 로그인 한 코드를 실행하면
, 나는이 오류가 나타납니다 ValueError: No password or public key available!
을 (그러나 암호가 - ssh_private_key_password - 아니?)
이 ssh_pkey
인지 여부를 발생 공개 키 또는 개인 키를 가리 킵니다.
여기에 무슨 일이 일어날 수 있습니까? SSHTunnelForwarder의 예상 인수에 대해 내가 오해하고 있습니까? 키와 암호에 대한 근본적인 것?
안녕하세요, 문제를 해결 했습니까? 우리도 똑같은 문제를 겪고 있습니다! – mrm