背景

背景

背景

エンタープライズジョブのスケジュールに使用されるJenkinsサーバーがあります。次のシェルスクリプトを実行するタスクがあります

#!/bin/bash -xe

ssh -o ServerAliveInterval=10 insidetk@albrl1 "Rscript /home/insidetk/PRIORITIZATION/Analytics_Modal.R" 

ご覧のとおり、sshコマンドはIdentityFileを指定しません。そのため、Known_hostファイルに保存されているキーを使用する必要があると推測しました。

スクリプトを実行するボックスで、$HOME/.ssh/known_hostファイル/etc/ssh/ssh_known_hostsにキーがあることがわかります。しかし、これらのファイルには、文字通り数千のさまざまなタスクからインポートされた数千のキーがあります。

努力する

上記のファイルからユーザーを検索しようとしています。内部知識、ボックスのIPアドレス、ボックスのホスト名などを検索して、このファイル内のキーを見つけようとします。ただし、これらの文字列はこれらのファイルには表示されません。

SSHログはどこにも見つからず、Journalctlがインストールされていません。

質問

このsshコマンドで使用されるキーをどのように識別できますか?

ベストアンサー1

ssh以下を対話的に実行して詳細な出力を有効にできます。

ssh -v insidetk@albrl1

そうすれば、次のような線を見つけることができます。

debug1: Offering public key: /home/<user>/.ssh/id_rsa RSA SHA256:<key's fingerprint>
debug1: Server accepts key: /home/<user>/.ssh/id_rsa RSA SHA256:<key's fingerprint>

おすすめ記事