アップグレード後に SSH 認証が失敗するIssue <!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Quebec にアップグレードした後、MID サーバーで SSH 認証が失敗します。MID サーバーは、SSH ユーザーキーを使用してターゲットホストに対して認証できなくなりました。 Symptoms<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Quebec にアップグレードした後、SSH 認証の失敗が MID サーバーログに表示される 次のエラーが MID サーバーログに記録されます。 Worker-Interactive:CommandPipeline-<pipeline-id> DEBUG: SSHSessionFactory: connection failed authentication for key SSHSessionPoolKey[target:<target-ip>&port:22&fixed_cred:&tag:&unique_id:<unique-id>&privilegedCommand:sudo&passwordPrompt:&debug:false&useSeperateSession: false&updateIndex: 2&disablePrivilegeCheck: false&cipherAlgorithms: aes128-ctr,aes192-ctr,aes256-ctr,3des-ctr,aes128-cbc,aes192-cbc,aes256-cbc,3des-cbc&hostKeyAlgorithms: ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-256,rsa-sha2-512,ssh-rsa,ssh-dss&kexAlgorithms: ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,diffie-hellman-group-exchange-sha1,rsa2048-sha256,rsa1024-sha1&macAlgorithms: hmac-sha2-256,hmac-sha1,hmac-sha2-512,hmac-sha1-96,hmac-md5-96,hmac-md5] with credential <credential-name>Worker-Interactive:CommandPipeline-<pipeline-id> DEBUG: SSHSessionFactory: Authentication failure. Blocking key SSHSessionPoolKey[...] ターゲットホストはユーザーキーアルゴリズムとして ssh-dss を使用します Release<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Quebec Cause<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 接続に関連する SSH キーには、ホストキーとユーザーキーの 2 種類があります。 ホストキーは各ホストで一意です。SSH ハンドシェイク中に、クライアントとサーバーはサポートされているホストキーアルゴリズムのリストを交換し、共通のアルゴリズムについて合意します。 ユーザーキーはユーザーごとに提供され、ネゴシエートされたホストキーアルゴリズムとは異なる場合があります。SSH クライアントは、認証時に最初にホストキーを検証し、次にユーザーキーを検証します。 Quebec 以降、SSH セッションファクトリの動作は次のように変更されました。 Quebec 以前:SSH クライアントは、提示されたキーがクライアントがサポートするホストキーアルゴリズムと一致するかどうかを確認し、それを使用します。Quebec 以降:SSH クライアントは、提示されたキーがクライアントとサーバーの両方がサポートするホストキーアルゴリズムと一致するかどうかを確認します。一致するアルゴリズムが見つからない場合、接続は失敗します。 この変更は、次のように記載されている RFC 標準に合わせて行われました。 任意の公開鍵アルゴリズムを認証に提供できます。特に、リストは鍵交換中に交渉された内容によって制約されません。サーバが何らかのアルゴリズムをサポートしていない場合、サーバは単に要求を拒否しなければなりません。 その結果、ターゲットサーバーがサポートされているホストキーアルゴリズムに ssh-dss が含まれておらず、MID サーバーが ssh-dss ユーザーキーを持つユーザー認証情報を使用して接続しようとすると、接続は失敗します。 Resolution<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } 回避策は 2 つあります。 オプション 1:ユーザーキーをより強力なアルゴリズムにアップグレードする (推奨) ユーザーキーを、RSA や ECDSA など、現在サポートされているより強力なアルゴリズムにアップグレードします。これは OpenSSH プロジェクトで推奨されているアプローチであり、根本原因を解決します。 オプション 2:ターゲットサーバーでサポートされるホストキーアルゴリズムとして ssh-dss を追加する ユーザーキーをアップグレードできない場合は、ホストキーアルゴリズムとして ssh-dss をサポートするようにターゲットサーバーを設定します。 1.ターゲットサーバーで ssh-dss ホストキーを生成し、インストール中に生成された他のキーと一緒に「/etc/ssh/」の下に配置します。 ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key 2.サーバーが ssh-dss を受け入れるように、次の行を「/etc/ssh/sshd_config」に追加します。この手順は、ssh-dss がデフォルトでオフになっている新しいバージョンの sshd で必要です。 HostKeyAlgorithms=+ssh-ds 3.sshd サービスを再起動して、構成変更を適用します。