ssh -Kのトークン(tgt)を手動で指定するには?

ssh -Kのトークン(tgt)を手動で指定するには?

私が理解したのは、発行時に認証にssh -K somehostkerberosトークンを使用することですsomehost。トークンとして使用するファイルを指定できますか?

私のコンピュータでは、Kerberosは正しく設定されていませんが、Kerberosが正しく設定されているコンピュータからのみTGTをコピーしました。

具体的には、トークンが次のように識別さ/tmp/krb5cc_1000れるようにトークンをコピーします(ここでは1000は私のuidです)。klist

➜  ~ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]

Valid starting       Expires              Service principal  
XXXX  
XXXX

ssh現在ラップトップ(L)でトークンを発行してから、SSHを介してエンドサーバー(S)に接続できるゲートウェイサーバー(G)に移動する必要があるため、これを行いたいと思います。私の目標は、トークンが長期間有効である可能性が高く、透明なSSH配信が私の開発設定を簡素化することを考慮してSSHを設定することですProxyCommand。ただし、ssh ProxyCommandを使用するには、すべてのキー/トークンがローカルシステム(L)に存在する必要があります。

現在私は次のようにProxyCommandを使用しています。

ProxyCommand ssh gateway nc %h %p

これにより(S)への接続を確立できますが、認証は完了しません.

OpenSSH_7.3p1-hpn14v11, OpenSSL 1.0.2k  26 Jan 2017
debug1: Reading configuration data /home/user/.ssh/config
debug1: /home/user/.ssh/config line 1: Applying options for *
debug1: /home/user/.ssh/config line 10: Applying options for S
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Executing proxy command: exec ssh GW nc S -p 22
debug1: permanently_drop_suid: 1000
debug1: identity file /home/user/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_dsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ecdsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519 type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/user/.ssh/id_ed25519-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_7.3p1-hpn14v11
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1
debug1: match: OpenSSH_6.6.1 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Remote is NON-HPN aware
debug1: Authenticating to S:22 as 'user'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: AUTH STATE IS 0
debug1: kex: algorithm: [email protected]
debug1: kex: host key algorithm: ecdsa-sha2-nistp256
debug1: REQUESTED ENC.NAME is '[email protected]'
debug1: kex: server->client cipher: [email protected] MAC: <implicit> compression: none
debug1: REQUESTED ENC.NAME is '[email protected]'
debug1: kex: client->server cipher: [email protected] MAC: <implicit> compression: none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY

GSSAPIAuthentication yes私が知っている限り、私が試した設定はKerberosを介した認証を強制する必要があります。

ベストアンサー1

トークンとして使用するファイルを指定できますか?

いいえ。 SSHはGSSAPIで表示されアクセスできる同じチケットを使用しますklist

Kerberosが正しく設定されているコンピュータからTGTをコピーします。

私はそれが本当だとは思わない。最初から始めて、Kerberos を正しく設定してください。

これにより(S)への接続を確立できますが、認証は完了しません.

このログによると、認証は開始されません。これはまったく別の問題であるキー交換で停止します(gssapiキー交換の実行方法がわからない限り)。

おすすめ記事