Min virksomhed har deaktiveret SSH-godkendelse af offentlig nøgle, derfor skal jeg manuelt indtaste hver gang min adgangskode (jeg formoder ikke at ændre /etc/ssh/sshd_config).

Dog gssapi-keyex og gssapi-with-mic godkendelser er aktiveret (se nedenfor ssh debug output).

Hvordan kunne jeg bruge automatisk login i dette tilfælde?
Kan jeg udnytte gssapi-keyex og / eller gssapi-with-mic godkendelser?

> ssh -v -o PreferredAuthentications=publickey hostxx.domainxx OpenSSH_5.3p1, OpenSSL 1.0.0-fips 29 Mar 2010 debug1: Reading configuration data /etc/ssh/ssh_config debug1: Applying options for * debug1: Connecting to hostxx.domainxx [11.22.33.44] port 22. debug1: Connection established. debug1: identity file /home/me/.ssh/identity type -1 debug1: identity file /home/me/.ssh/id_rsa type -1 debug1: identity file /home/me/.ssh/id_dsa type 2 debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3 debug1: match: OpenSSH_5.3 pat OpenSSH* debug1: Enabling compatibility mode for protocol 2.0 debug1: Local version string SSH-2.0-OpenSSH_5.3 debug1: SSH2_MSG_KEXINIT sent debug1: SSH2_MSG_KEXINIT received debug1: kex: server->client aes128-ctr hmac-md5 none debug1: kex: client->server aes128-ctr hmac-md5 none debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT sent debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY debug1: Host "hostxx.domainxx" is known and matches the RSA host key. debug1: Found key in /home/me/.ssh/known_hosts:2 debug1: ssh_rsa_verify: signature correct debug1: SSH2_MSG_NEWKEYS sent debug1: expecting SSH2_MSG_NEWKEYS debug1: SSH2_MSG_NEWKEYS received debug1: SSH2_MSG_SERVICE_REQUEST sent debug1: SSH2_MSG_SERVICE_ACCEPT received debug1: Authentications that can continue: gssapi-keyex,gssapi-with-mic,password debug1: No more authentication methods to try. Permission denied (gssapi-keyex,gssapi-with-mic,password). 

Kommentarer

  • Python ‘ s stof gør et godt stykke arbejde med at håndtere ssh-automatisering.
  • Hej @ DanGarthwaite Bruger du Fabric til manuelt at logge ind på andre eksterne servere? Kan du forklare, hvordan du bruger det? Giv et svar. Skål
  • Hvis du ikke er ‘ t i et Kerberos-rige (eller Active Directory-domæne), er det usandsynligt, at GSSAPI vil være nyttigt for dig. Når det er sagt, deaktivering af godkendelse af offentlig nøgle virker ret absurd.
  • @olibre Fabric er et værktøj til at køre kommandoer på en eller flere servere via SSH. Disse kommandoer er normalt organiseret i en ” fabfile “, som en Makefile. Det gør et ekstremt godt stykke arbejde med at få SSH til at forsvinde (når du først har godkendt) og håndterer alle de mange måder, SSH-klienter og servere har tendens til at afbryde kontrollen. En hurtig tutorial er tilgængelig: docs.fabfile.org/da/1.7/tutorial.html
  • Venligst @DanGarthwaite, kan du give en eksempel på en fab fil, der logger ind på en anden maskine (SSH gssapi uden at bede om en adgangskode) og åbner en shell? Du kan give det inden for et svar. (På fem minutter fandt jeg ikke i vejledningen, hvordan man gør det). Skål;)

Svar

Måske.

  • Kan du få en billet til din hovedstol på dit klientsystem enten som en del af standard loginprocessen eller manuelt (kinit, MIT Kerberos til Windows)?
  • Har serveren en kerberos-hovedstol, eller kan du give den en? Den skal have formen host/[email protected].
  • Er GSSAPI godkendelse aktiveret på din klient?
  • Ved din klient, hvilket område serveren tilhører, enten ved hjælp af DNS TXT-ressourcepost eller lokal kortlægning?

Hvis du sagde “ja” til alle af ovenstående, så tillykke, du kan bruge GSSAPIAuthentication.

  • Du må skal også aktivere legitimationsdelegering, afhængigt af din opsætning.

Testtrin:
(Antages: domæne = eksempel.com; realm = EXAMPLE.COM)

  1. kinit [email protected]
    • Ideelt set håndteres dette ved din standard loginproces ved at inkludere enten pam_krb5 eller pam_sss (med auth_provider = krb5) i det relevante pam stack.
  2. kvno host/[email protected]
    • Dette er et fejlfindingstrin. ssh gør dette automatisk, hvis du har en gyldig cache, og du taler til en sshd, som understøtter gssapi-with-mic eller gssapi-keyex.
  3. dig _kerberos.example.com txt skal returnere "EXAMPLE.COM"
    • Alternativt kunne kortlægningen gemmes i [domain_realm] sektionen i /etc/krb5.conf som .example.com = EXAMPLE.COM, men dns -metoden skaleres meget bedre.
  4. ssh -o GSSAPIAuthentication=yes [email protected]
    • For at logge ind på et andet brugernavn end det, som din hovedperson har på serveren, skal det kende til at kortlægge de detaljer, som jeg ikke kommer ind på her.

Kommentarer

  • Hej. Jeg har givet dig +1 for nogen tid siden, men faktisk gør jeg ikke ved, hvordan du kontrollerer dine fire punkter. (Jeg er ikke administrator, bare en udvikler). Kan du give en kommandolinje til at kontrollere SSH-forbindelsen usin g gssapiauthentication? Måske kan jeg også bruge gssapiauthentication på min Linux-maskine. (skal jeg bruge kinit til det?) Skål;)

Svar

4-trinsmetoden er korrekt (der er også Kerberos SRV-poster i DNS, der er endnu mere elegante og findes i alle Active Directory). Jeg bruger dette hele tiden og har anbefalet dette ovenfor pubkey-metoder af mest sikkerheds- og kontrolrelaterede årsager.

Når det er sagt, giver dette kun interaktivt login, selvom det kan være kvasi-interaktivt, når du først har fået en billet på din arbejdsstation.Kerberos-billetten fungerer ligesom SSH-agenten; når du har det, er nye forbindelser øjeblikkelig og adgangskodefri; omend med en tidsfrist.

For at få interaktivt batch-login skal du hente en keytab-fil, en fil, der i det væsentlige indeholder adgangskoden til en Kerberos-konto, ligesom den private halvdel af en SSH-nøgle. I henhold til sikkerhedsforanstaltninger gælder; især da tastaturfanen ikke er krypteret eller beskyttet med en adgangskode.

Jeg er meget tilbageholdende med at give mine brugere deres tastaturer til deres personlige konti, men bruger aggressivt servicekonti med minimale tilladelser til forskellige batchjob, især hvor det er kritisk, at legitimationsoplysninger delegeres til fjernbetjeningen system, kan noget pubkey simpelthen ikke opnå.

Keytabs kan oprettes ved hjælp af ktutil på Unix eller KTPASS.EXE på Windows (sidstnævnte fra AD Kerberos-tjenester). Bemærk, at ktutil findes i to varianter, Heimdal og MIT, og deres syntaks er forskellig. Det hjælper at læse hjemmesiden på et relevant system.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *