feat: Import bookmarks from ssh config with a CLI command (#364)
Linux / build (push) Has been cancelled
MacOS / build (push) Has been cancelled
Windows / build (push) Has been cancelled

* feat: Import bookmarks from ssh config with a CLI command

Use import-ssh-hosts to import all the possible hosts by the configured ssh config or the default one on your machine

closes #331
This commit is contained in:
Christian Visintin
2025-11-08 15:32:52 +01:00
committed by GitHub
parent 4bebec369f
commit f4156a5059
27 changed files with 883 additions and 481 deletions
+8 -21
View File
@@ -99,27 +99,14 @@ impl SetupActivity {
Ok(State::One(StateValue::Usize(idx))) => Some(idx),
_ => None,
};
if let Some(idx) = idx {
let key: Option<String> = self.config().iter_ssh_keys().nth(idx).cloned();
if let Some(key) = key {
match self.config().get_ssh_key(&key) {
Ok(opt) => {
if let Some((host, username, _)) = opt {
if let Err(err) = self.delete_ssh_key(host.as_str(), username.as_str())
{
// Report error
self.mount_error(err.as_str());
}
}
}
Err(err) => {
// Report error
self.mount_error(
format!("Could not get ssh key \"{key}\": {err}").as_str(),
);
}
}
}
// get ssh key and delete it
if let Some(Err(err)) = idx
.and_then(|i| self.config().iter_ssh_keys().nth(i).cloned())
.and_then(|key| self.config().get_ssh_key(&key))
.map(|(host, username, _)| self.delete_ssh_key(host.as_str(), username.as_str()))
{
// Report error
self.mount_error(err.as_str());
}
}