ssh: ask password before setting it (#6615)

This commit is contained in:
Batuhan Taskaya
2021-09-15 15:26:57 +03:00
committed by GitHub
parent a113097817
commit 8a97b21b76
2 changed files with 11 additions and 5 deletions
+5 -5
View File
@@ -67,6 +67,11 @@ class SSHFileSystem(FSSpecWrapper):
or self.DEFAULT_PORT
)
if config.get("ask_password") and config.get("password") is None:
config["password"] = ask_password(
login_info["host"], login_info["username"], login_info["port"]
)
login_info["password"] = config.get("password")
login_info["passphrase"] = config.get("password")
@@ -101,11 +106,6 @@ class SSHFileSystem(FSSpecWrapper):
login_info["agent_forwarding"] = config.get("agent_forwarding", True)
login_info["proxy_command"] = user_ssh_config.get("ProxyCommand")
if config.get("ask_password") and login_info["password"] is None:
login_info["password"] = ask_password(
login_info["host"], login_info["username"], login_info["port"]
)
# We are going to automatically add stuff to known_hosts
# something like paramiko's AutoAddPolicy()
login_info["known_hosts"] = None
+6
View File
@@ -43,6 +43,12 @@ def test_init():
assert fs.fs_args["password"] == fs.fs_args["passphrase"] == "xxx"
def test_ssh_ask_password(mocker):
mocker.patch("dvc.fs.ssh.ask_password", return_value="fish")
fs = SSHFileSystem(user="test", host="2.2.2.2", ask_password=True)
assert fs.fs_args["password"] == fs.fs_args["passphrase"] == "fish"
mock_ssh_config = """
Host example.com
User ubuntu