会社がSSH公開鍵認証を無効にしているため、手動で入力する必要がありますパスワードを変更するたびに(/etc/ssh/sshd_configを変更することは想定されていません)。

ただし、gssapi-keyexgssapi-with-mic認証が有効になっています(以下のsshデバッグ出力を参照してください)。

この場合、自動ログインを使用するにはどうすればよいですか?
gssapi-keyexおよび/またはgssapi-with-mic認証?

> 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). 

コメント

  • Python 'のファブリックは、ssh自動化をうまく処理します。
  • こんにちは@ DanGarthwaite Fabric を使用して他のリモートサーバーに手動でログインしていますか?使い方を教えてください。答えてください。乾杯
  • Kerberosレルム(またはActive Directoryドメイン)に'いない場合、GSSAPIは役に立たない可能性があります。とはいえ、公開鍵認証を無効にするのは非常に馬鹿げているようです。
  • @olibre Fabricは、SSHを介して1つ以上のサーバーでコマンドを実行するためのユーティリティです。これらのコマンドは通常、Makefileのように、" fabfile "で構成されています。これは、SSHを(認証すると)非表示にするという非常に優れた機能を果たし、SSHクライアントとサーバーが制御を中断する傾向がある多くの方法をすべて処理します。簡単なチュートリアルが利用可能です: docs.fabfile.org/en/1.7/tutorial.html
  • @DanGarthwaiteをお願いします、別のマシン(パスワードを要求せずにSSH gssapi)にログインしてシェルを開くfabファイルの例?あなたは答えの中でそれを提供することができます。 (5分で、チュートリアル内でそれを行う方法が見つかりませんでした)。乾杯;)

回答

たぶん。

  • 標準のログインプロセスの一部として、または手動で(kinit、MIT Kerberos for Windows)、クライアントシステム上のプリンシパルのチケット?
  • サーバーにはKerberosプリンシパルがありますか、それとも与えることができますか? host/[email protected]の形式である必要があります。
  • クライアントでGSSAPI認証が有効になっていますか?
  • クライアントは、DNS TXTリソースレコードまたはローカルマッピングのいずれかによって、サーバーがどのレルムに属しているかを知っていますか?

、おめでとうございます。GSSAPIAuthenticationを使用できます。

  • また、設定に応じて、資格情報の委任を有効にする必要があります。

テスト手順:
(仮定:domain = example.com; realm = Example.COM)

  1. kinit [email protected]
    • 理想的には、これは標準のログインプロセスでpam_krb5または適切なpam stack内のpam_sssauth_provider = krb5を使用)。
  2. kvno host/[email protected]
    • これはデバッグ手順です。 sshは、有効なキャッシュがあり、gssapi-with-mic<をサポートするsshdと通信している場合に自動的にこれを行います。 / div>またはgssapi-keyex
  3. dig _kerberos.example.com txt"EXAMPLE.COM"
    • または、マッピングを/etc/krb5.conf[domain_realm]セクションに.example.com = EXAMPLE.COMですが、dnsメソッドのスケーリングははるかに優れています。
  4. ssh -o GSSAPIAuthentication=yes [email protected]
    • サーバー上のプリンシパル以外のユーザー名にログインするには、ここでは詳しく説明していない詳細をマップする必要があります。

コメント

  • こんにちは。しばらく前に+1を差し上げましたが、実際はそうではありません。 4つのポイントを確認する方法を知っています(私は管理者ではなく、開発者です)。SSH接続を確認するためのコマンドラインを提供してください。 g gssapiauthentication? Linuxマシンでgssapiauthenticationを使用することもできます。 (そのためにkinitを使用する必要がありますか?)乾杯;)

回答

4ステップの方法が正しいです(DNSにはさらに洗練されたKerberos SRVレコードがあり、すべてのActive Directoryに存在します)。私はこれを常に使用しており、主にセキュリティと制御に関連する理由から、上記のpubkeyメソッドを提唱してきました。

とはいえ、これはインタラクティブなログインのみを提供しますが、ワークステーションでチケットを取得すると、準インタラクティブになる可能性があります。KerberosチケットはSSHエージェントのように機能します。一度取得すると、新しい接続は即座にパスワードなしで実行できます。時間制限はありますが。

インタラクティブなバッチログインを取得するには、キータブファイルを取得する必要があります。このファイルには、SSHキーの秘密の半分のように、Kerberosアカウントのパスワードが基本的に含まれています。セキュリティ上の注意が適用されます。特に、キータブは暗号化されておらず、パスワードで保護されていないためです。

ユーザーに個人アカウントのキータブを提供することには非常に消極的ですが、特に資格情報をリモートに委任することが重要な場合は、さまざまなバッチジョブに対して最小限の権限を持つサービスアカウントを積極的に使用していますシステム、pubkeyが単に達成できない何か。

キータブは、Unixではktutilを使用して、WindowsではKTPASS.EXE(AD Kerberosサービスからの後者)を使用して作成できます。 ktutilにはHeimdalとMITの2つのフレーバーがあり、構文が異なることに注意してください。関連するシステムのマンページを読むと役立ちます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です