mirror of
https://github.com/wez/wezterm.git
synced 2024-09-20 03:09:06 +03:00
ssh: try password auth before keyboard interactive
This may help for sites that use 2fac; after entering the password correctly, the 2fac prompt may appear.
This commit is contained in:
parent
e45bace9eb
commit
970e4a8e64
16
src/ssh.rs
16
src/ssh.rs
@ -287,6 +287,14 @@ pub fn ssh_connect(remote_address: &str, username: &str) -> anyhow::Result<ssh2:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if !sess.authenticated() && methods.contains("password") {
|
||||||
|
let pass = password_prompt("", "Password", username, &remote_address)
|
||||||
|
.ok_or_else(|| anyhow!("password entry was cancelled"))?;
|
||||||
|
if let Err(err) = sess.userauth_password(username, &pass) {
|
||||||
|
log::error!("while attempting password auth: {}", err);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if !sess.authenticated() && methods.contains("keyboard-interactive") {
|
if !sess.authenticated() && methods.contains("keyboard-interactive") {
|
||||||
let mut prompt = Prompt {
|
let mut prompt = Prompt {
|
||||||
username,
|
username,
|
||||||
@ -298,14 +306,6 @@ pub fn ssh_connect(remote_address: &str, username: &str) -> anyhow::Result<ssh2:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if !sess.authenticated() && methods.contains("password") {
|
|
||||||
let pass = password_prompt("", "Password", username, &remote_address)
|
|
||||||
.ok_or_else(|| anyhow!("password entry was cancelled"))?;
|
|
||||||
if let Err(err) = sess.userauth_password(username, &pass) {
|
|
||||||
log::error!("while attempting password auth: {}", err);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if !sess.authenticated() {
|
if !sess.authenticated() {
|
||||||
bail!("unable to authenticate session");
|
bail!("unable to authenticate session");
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user