diff --git a/Cargo.lock b/Cargo.lock index 0ce84f5..0c709dd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -265,6 +265,15 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "servus" +version = "0.1.0" +dependencies = [ + "clap", + "emojis-rs", + "ssh2", +] + [[package]] name = "shlex" version = "1.3.0" @@ -277,15 +286,6 @@ version = "1.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "67b1b7a3b5fe4f1376887184045fcf45c69e92af734b7aaddc05fb777b6fbd03" -[[package]] -name = "ssh-test" -version = "0.1.0" -dependencies = [ - "clap", - "emojis-rs", - "ssh2", -] - [[package]] name = "ssh2" version = "0.9.5" diff --git a/Cargo.toml b/Cargo.toml index 21ab5bb..90db366 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "ssh-test" +name = "servus" version = "0.1.0" edition = "2024" diff --git a/src/main.rs b/src/main.rs index aecc32b..fee3f59 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,9 +10,11 @@ use emojis_rs::*; #[derive(Parser, Debug)] #[command(version, about, long_about = None)] struct Args { + /// user needs access to systemd #[arg(short, long)] - username: String, + user: String, + /// include port number :22 #[arg(short, long)] ip: String, } @@ -25,18 +27,18 @@ fn main() { sess.set_tcp_stream(tcp); sess.handshake().expect("SSH handshake failed"); - sess.userauth_agent(&args.username).expect("SSH authentication failed"); + sess.userauth_agent(&args.user).expect("SSH authentication failed"); if sess.authenticated() { - println!("Authentication successful! {EMOJI_CHECK}"); + println!("{EMOJI_CHECK} Authentication successful!"); } else { - println!("Authentication failed! {EMOJI_CROSS}"); + println!("{EMOJI_CROSS} Authentication failed!"); return; } println!("-------------------------"); - for service in ["gollum", "wastebin", "hydra-server"] { + for service in ["forgejo", "gollum", "hydra-server", "syncthing", "wastebin"] { check_service_status(&sess, service); } } @@ -52,9 +54,9 @@ fn check_service_status(sess: &Session, service: &str) { let exit_code = channel.exit_status().expect("Failed to get exit status"); if exit_code == 0 { - println!("{service} service is active {EMOJI_CHECK}"); + println!("{EMOJI_CHECK} {service} service is active"); } else { - println!("{service} service is inactive {EMOJI_CROSS} (exit code: {exit_code})"); + println!("{EMOJI_CROSS} {service} service is inactive (exit code: {exit_code})"); } }