Vállalkozásom letiltotta az SSH nyilvános kulcs hitelesítést, ezért manuálisan kell megadnom minden alkalommal, amikor a jelszavam (nem feltételezem, hogy megváltoztatom a következőt: /etc/ssh/sshd_config
).
Azonban gssapi-keyex
és gssapi-with-mic
hitelesítés engedélyezve van (lásd alább ssh
hibakereső kimenet).
Hogyan használhatnám ebben az esetben az automatikus bejelentkezést?
Kihasználhatom a gssapi-keyex
és / vagy gssapi-with-mic
hitelesítés?
> 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).
Megjegyzések
Válasz
Talán.
- jegyet az ügyfelének az ügyfélrendszerében vagy a szokásos bejelentkezési folyamat részeként, vagy manuálisan (
kinit
, MIT Kerberos for Windows)? - Rendelkezik a szerver egy kerberos fővel, vagy megadhatja? Ennek
host/[email protected]
formátumúnak kell lennie. - Engedélyezve van-e
GSSAPI
hitelesítés az ügyfelén? - A kliens tudja, hogy a kiszolgáló melyik tartományba tartozik DNS TXT erőforrásrekord vagy helyi leképezés alapján?
Ha “igent” mondott a következőre: az összes fent említett , majd gratulálok, használhatja az GSSAPIAuthentication
szót.
- Lehet, hogy a beállítástól függően engedélyeznie kell a hitelesítő adatok delegálását is.
Tesztelési lépések:
(Feltételezve: domain = example.com; realm = EXAMPLE.COM)
-
kinit [email protected]
- Ideális esetben ezt a szokásos bejelentkezési folyamat kezeli úgy, hogy vagy
pam_krb5
vagypam_sss
(auth_provider = krb5
-vel) a megfelelőpam stack
.
- Ideális esetben ezt a szokásos bejelentkezési folyamat kezeli úgy, hogy vagy
-
kvno host/[email protected]
- Ez egy hibakeresési lépés. A
ssh
ezt automatikusan megteszi, ha érvényes gyorsítótárad van, éssshd
vel beszélsz, amely támogatja agssapi-with-mic
vagygssapi-keyex
.
- Ez egy hibakeresési lépés. A
-
dig _kerberos.example.com txt
vissza kell térnie"EXAMPLE.COM"
- Alternatív megoldásként a leképezés tárolható a
/etc/krb5.conf
[domain_realm]
szakaszban.example.com = EXAMPLE.COM
, de adns
módszer sokkal jobban skálázódik.
- Alternatív megoldásként a leképezés tárolható a
-
ssh -o GSSAPIAuthentication=yes [email protected]
- A kiszolgálón kívüli felhasználónévtől eltérő felhasználónévhez való bejelentkezéshez tudnia kell, hogy feltérképezze azokat a részleteket, amelyekre itt nem térek ki.
Megjegyzések
- Sziasztok. Adtam Önnek +1 egy ideje, de valójában nem tudja, hogyan ellenőrizheti a négy pontját. (Nem vagyok rendszergazda, csak fejlesztő). Kérem, adjon parancssort az SSH-kapcsolat ellenőrzéséhez g
gssapiauthentication
? Talán agssapiauthentication
-t is használhatom a Linux gépemen. (ehhez használjam akinit
t?) Egészségedre;)
Válasz
A 4 lépéses módszer helyes (a DNS-ben vannak Kerberos SRV rekordok is, amelyek még elegánsabbak és minden Active Directoryban megtalálhatók). Ezt folyamatosan használom, és ezt a fenti pubkey módszerekkel támogattam, főleg biztonsági és ellenőrzési okokból.
Ez azt jelenti, hogy ez csak interaktív bejelentkezést biztosít, bár kvázi interaktív is lehet, ha már jegyet kapott a munkaállomáson.A Kerberos-jegy hasonlóan működik, mint az SSH-ügynök; amint megvan, az új kapcsolatok instánsak és jelszómentesek; bár határidővel.
Az interaktív kötegelt bejelentkezéshez be kell szereznie egy kulcstábla fájlt, egy fájlt, amely lényegében a Kerberos-fiók jelszavát tartalmazza, hasonlóan az SSH-kulcs privát feléhez. A biztonsági óvintézkedéseknek megfelelően; főleg, hogy a kulcstábla nincs titkosítva vagy jelszóval védve.
Nem szívesen adom meg a felhasználóimnak a személyes fiókok kulcstartóit, de agresszíven használom a minimális engedélyekkel rendelkező szolgáltatási fiókokat a különböző kötegelt feladatokhoz, különösen ott, ahol kritikus fontosságú, hogy a hitelesítő adatokat a távvezérlőhöz adják rendszer, valami pubkey egyszerűen nem érhető el.
A kulcsablakok a ktutil segítségével hozhatók létre a Unixon vagy a KTPASS.EXE Windows rendszeren (ez utóbbi az AD Kerberos szolgáltatásaiból). Ne feledje, hogy a ktutil két ízben létezik, Heimdal és MIT, és szintaxisuk eltér. A kézikönyv olvasása egy releváns rendszeren segít.
fab
fájlra, amely bejelentkezik egy másik gépre (SSH gssapi jelszó kérése nélkül), és megnyit egy héjat? Válaszon belül megadhatja. (Öt perc alatt nem találtam meg a bemutatón, hogyan kell ezt csinálni). Sziasztok;)