Mitt företag har inaktiverat SSH-autentisering av offentlig nyckel, därför måste jag ange manuellt varje gång mitt lösenord (jag antar inte att ändra /etc/ssh/sshd_config).

Men gssapi-keyex och gssapi-with-mic autentiseringar är aktiverade (se nedan ssh felsökningsutdata).

Hur kan jag använda automatisk inloggning i det här fallet?
Kan jag utnyttja gssapi-keyex och / eller gssapi-with-mic autentiseringar?

> 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 tyg gör ett bra jobb med att hantera ssh-automatisering.
  • Hej @ DanGarthwaite Använder du Fabric för att manuellt logga in på andra fjärrservrar? Snälla kan du förklara hur du använder det. Vänligen ge ett svar. Skål
  • Om du inte är ’ t i ett Kerberos-område (eller Active Directory-domän) är det troligt att GSSAPI inte är användbart för dig. Som sagt, inaktivera verifiering av offentlig nyckel verkar ganska absurt.
  • @olibre Fabric är verktyg för att köra kommandon på en eller flera servrar via SSH. Dessa kommandon är vanligtvis organiserade i en ” fabfile ”, som en Makefile. Det gör ett extremt bra jobb med att få SSH att försvinna (när du har autentiserat) och hanterar alla de olika sätt som SSH-klienter och servrar tenderar att avbryta kontrollen. En snabb handledning finns tillgänglig: docs.fabfile.org/en/1.7/tutorial.html
  • Snälla @DanGarthwaite, kan du ge en exempel på en fab -fil som skulle logga in på en annan dator (SSH gssapi utan att be om ett lösenord) och öppna ett skal? Du kan ge det inom ett svar. (På fem minuter hittade jag inte i handledningen hur man gör det). Skål;)

Svar

Kanske.

  • Kan du få en biljett till din huvudman på ditt klientsystem antingen som en del av standardinloggningsprocessen eller manuellt (kinit, MIT Kerberos för Windows)?
  • Har servern en kerberos-princip eller kan du ge den en? Det ska ha formen host/[email protected].
  • Är GSSAPI autentisering aktiverad på din klient?
  • Vet din klient till vilket område servern tillhör antingen genom DNS TXT-resurspost eller lokal mappning?

Om du sa ”ja” till alla av ovanstående, så grattis, du kan använda GSSAPIAuthentication.

  • Du får måste också aktivera legitimationsdelegering, beroende på din inställning.

Teststeg:
(antar: domän = exempel.com; realm = EXAMPLE.COM)

  1. kinit [email protected]
    • Helst hanteras detta genom din standardinloggningsprocess genom att inkludera antingen pam_krb5 eller pam_sss (med auth_provider = krb5) i lämpligt pam stack.
  2. kvno host/[email protected]
    • Detta är ett felsökningssteg. ssh gör detta automatiskt om du har en giltig cache och du pratar med en sshd som stöder gssapi-with-mic eller gssapi-keyex.
  3. dig _kerberos.example.com txt ska returnera "EXAMPLE.COM"
    • Alternativt kan kartläggningen lagras i [domain_realm] i /etc/krb5.conf som .example.com = EXAMPLE.COM, men dns -metoden skalas mycket bättre.
  4. ssh -o GSSAPIAuthentication=yes [email protected]
    • För att logga in på ett annat användarnamn än ditt huvud på servern måste du kunna för att kartlägga de detaljer som jag inte kommer in här.

Kommentarer

  • Hej. Jag har gett dig +1 för en tid sedan, men det gör jag faktiskt inte vet hur du kontrollerar dina fyra poäng. (Jag är inte en administratör, bara en utvecklare). Kan du ge en kommandorad för att kontrollera SSH-anslutningen i g gssapiauthentication? Kanske kan jag också använda gssapiauthentication på min Linux-maskin. (ska jag använda kinit för det?) Skål;)

Svar

4-stegsmetoden är korrekt (det finns också Kerberos SRV-poster i DNS som är ännu mer eleganta och finns i alla Active Directory). Jag använder det hela tiden och har förespråkat ovanstående pubkey-metoder av mestadels säkerhets- och kontrollrelaterade skäl.

Som sagt, detta ger bara interaktiv inloggning, även om det kan vara kvasi-interaktivt när du har fått en biljett på din arbetsstation.Kerberos-biljetten fungerar som SSH-agenten; när du väl har det är nya anslutningar direkt och lösenordsfria. om än med en tidsgräns.

För att få interaktiv batch-inloggning måste du få en keytab-fil, en fil som i huvudsak innehåller lösenordet för ett Kerberos-konto, ungefär som den privata halvan av en SSH-nyckel. Enligt säkerhetsåtgärder gäller; speciellt eftersom knappsatsen inte är krypterad eller skyddad med ett lösenord.

Jag är ganska ovillig att förse mina användare med sina tangentbord för sina personliga konton, men använder aggressivt servicekonton med minimala behörigheter för olika batchjobb, särskilt där det är viktigt att referenser delegeras till fjärrkontrollen system, något pubkey kan helt enkelt inte uppnå.

Keytabs kan skapas med ktutil på Unix eller KTPASS.EXE i Windows (det senare från AD Kerberos-tjänster). Observera att ktutil finns i två smaker, Heimdal och MIT, och deras syntax skiljer sig åt. Att läsa manpage på ett relevant system hjälper.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *