ssh ProxyJump Kerberos ile birlikte


0

İş istasyonum ile son bulmam gereken yerler arasında iki iyi aracı ev sahibi var. Bu bağlantıyı yapmak için ProxyJump yapılandırmasını kullanmaya çalışıyordum, ancak işe yaramadı.

Topoloji:

                      ssh                ssh                ssh
localhost.domain1.com --> h1.domain1.com --> h2.domain2.com --> dest.domain2.com

Aşağıdaki bu komutu kullanmaya çalıştığımda bir hata alıyorum

ssh -K -J h1.domain1.com,h2.domain2.com dest.domain2.com

H1.domain1.com'a bağlanır, ancak daha sonra "domain2.com" bölgesi için herhangi bir KDC ile iletişim kuramadığımda h2.domain2.com'a düzgün şekilde bağlanamaz (ve domain2.com adresinde bir şifrem yok), bu bir seçenek değil):

OpenSSH_7.4p1, OpenSSL 1.0.2k-fips  26 Jan 2017
debug1: Reading configuration data /home/USERNAME/.ssh/config
...
debug1: Setting implicit ProxyCommand from ProxyJump: ssh -J h1.domain1.com -v -W %h:%p h2.domain2.com
debug1: Executing proxy command: exec ssh -J h1.domain1.com -v -W dest.domain2.com:22 h2.domain2.com
...
debug1: Connecting to h1.domain1.com [132.175.108.33] port 22.
debug1: Connection established.
...
debug1: Authenticating to h1.domain1.com:22 as 'USERNAME'
...
debug1: Next authentication method: gssapi-with-mic
debug1: Authentication succeeded (gssapi-with-mic).
Authenticated to h1.domain1.com ([###.###.##.##]:22).
debug1: channel_connect_stdio_fwd h2.domain2.com:22
debug1: channel 0: new [stdio-forward]
debug1: getpeername failed: Bad file descriptor
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
debug1: pledge: network
...
debug1: Remote protocol version 2.0, remote software version OpenSSH_5.3
debug1: match: OpenSSH_5.3 pat OpenSSH_5* compat 0x0c000000
debug1: Authenticating to h2.domain2.com:22 as 'USERNAME'
...
debug1: Next authentication method: gssapi-with-mic
debug1: getpeername failed: Socket operation on non-socket
debug1: Unspecified GSS failure.  Minor code may provide more information
Cannot contact any KDC for realm 'domain2.com'

debug1: Authentications that can continue: gssapi-keyex,gssapi-with-mic,password,hostbased
debug1: Next authentication method: password

Aşağıdaki komut işe yarıyor, ancak bu site güvenli olmadığını gösteriyor :

ssh -K -tt h1.domain1.com ssh -K -tt h2.domain2.com ssh -K -tt dest.domain2.com

Tek bir komut çalıştığından, tüm gerçekler arası kimlik doğrulamasının doğru bir şekilde yapıldığına inanıyorum.

Yan not olarak, tümü domain1.com içinde sorunsuz bir şekilde yapabilirim: ssh -K -J a.alanmain1.com, b.alanmain1.com c.alaniniz.com

Bu yapılandırmada Kerberos ile çalışmak için daha kısa ve daha güvenli ProxyJump almak için yine de var mı?

Yanıtlar:


0

Gerçekler arası kimlik doğrulamanın, diğer bölge için bir parolaya sahip olmanızla hiçbir ilgisi yoktur. Müşteriniz , diğer alanda olan bir sunucuya bilet almak için domain2 KDC'si ile iletişime geçmelidir .

Gerçekler arası kimlik doğrulama aşağıdaki gibi çalışır:

  1. Client @ FOO, kdc.foo.com ile irtibat kurar, krbtgt / FOO @ FOO (ilk TGT) kodunu almak için şifreyi kullanır.
  2. Müşteri @ FOO, kdc.foo.com ile irtibat kurar, krbtgt / BAR @ FOO elde etmek için krbtgt / FOO @ FOO ürününü kullanır.
  3. Müşteri @ FOO, kdc.bar.org ile bağlantı kurar, host/host1.bar.org@BAR adresini almak için krbtgt / BAR @ FOO işlevini kullanır.

Bu nedenle, istemci gerekir , kendi alemine ve sunucunun alemine hem KDC'nizi ulaşabilmesi.

(İdeal olarak, manuel krb5.confkonfigürasyondan kaçınmak için , her bölge sadece doğru KDC'ye işaret eden _kerberos._udpve _kerberos._tcpişaret eden SRV kayıtlarına sahip olmalıdır .)

ProxyJump bunu hiçbir şekilde etkilemez. Tüm tünelleri hala bilgisayarınızda çalıştıracak şekilde bir tünel kurar. Bu nedenle Kerberos, tam olarak nihai sunucuya doğrudan sshing yaptığınız gibi çalışır.


Cevabınız için teşekkür ederim. Çapraz alemin söz konusu şekilde doğru bir şekilde yapılandırılmasının söz konusu merkezi sorundan çıkarılmasından dolayı özür dilerim. İstemci domain2 (bar.org) için KDC'yi göremediğinden, bunun anlamı, ProxyJump'ın kullanılamaması, tek yaklaşım zincirleme ssh komutlarıdır. Bu doğru mu?
KevinO

Evet. Yayında açıklandığı gibi, KDC2'ye ulaşamıyorsanız, realm2'deki sunucular için bilet alamazsınız. (
KDC'ye

Ayrıca KDC2'ye (88 numaralı port) bir SSH tüneli kurabilir ve bu şekilde ulaşabilirsiniz ...
Gravity
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.