pam-ssh-agent 0.9.1

A PAM module that authenticates using the ssh-agent.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use anyhow::Result;
use pam_ssh_agent::{authenticate, PrintLog};
use ssh_agent_client_rs::Client;
use std::env;
use std::path::Path;

fn main() -> Result<()> {
    let path = env::var("SSH_AUTH_SOCK").expect("SSH_AUTH_SOCK is not set");
    let client = Client::connect(Path::new(path.as_str()))?;

    let authorized_keys_path = env::args().nth(1).expect("argument missing");

    let result = authenticate(authorized_keys_path.as_str(), client, &mut PrintLog {})?;

    println!("Status of authentication is: {}", result);
    Ok(())
}