sdoing sshの問題 - `sudo ssh...`失敗

sdoing sshの問題 - `sudo ssh...`失敗

git salt SSHアクセス(rootとして実行)を使用しようとしています。エラーは常に次のとおりです。

権限が拒否されました(公開鍵)。

問題の再現に成功しました。シミュレーション塩は何をしていますか?user 次に、同じコマンドを使用します。Sudo(まだrootアカウントにあります)同じエラーが発生します。

これはうまくいきました:

ルート@サーバー:/src#SSH-T[Eメール保護]

XXXXでログインしてください。

失敗します。

ルート@サーバー:/src#sudo ssh -T[Eメール保護]

権限が拒否されました(公開鍵)。

権限は明らかに正確です。

ls -la ~/.ssh
total 32
drwx------  2 root root 4096 Jun  2 12:18 .
drwx------ 12 root root 4096 Jun  2 12:10 ..
-rw-------  1 root root  550 Jun  1 16:31 authorized_keys
-r--------  1 root root   83 Jun  2 12:18 config
-rw-------  1 root root  134 Jun  1 18:18 environment
-rw-------  1 root root 1679 May 26  2015 id_rsa
-rw-r--r--  1 root root  393 Aug  3  2014 id_rsa.pub
-rw-r--r--  1 root root 3984 Jun  2 10:19 known_hosts

failedコマンドに追加すると、-v失敗する前にエラーなしで最後まですべてが正常であることが示されます。

...
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /root/.ssh/id_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: key_parse_private2: missing begin marker
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: No more authentication methods to try.
Permission denied (publickey).

検索して権限に関連する内容だけが見つかりましたが、rootとして実行したときにsudoが失敗することについての説明はありません。

答え1

@ Sergeがコメントで指摘したように、この行は

debug1: Offering RSA public key: /root/.ssh/id_rsa

ssh -v出力でわかるのは、sshが自分のユーザーディレクトリ(/home/yourusername)ではなく、ルートのホームディレクトリ(/root)にある公開鍵を使用して認証を試みていることです。

これにより、3つのオプションが残ります。あなたはできます

  • sshを実行し、-isshが使用するキーを明示的に指定するように選択します(例ssh -i /home/yourusername/.ssh/id_rsa ...:)。
  • ルートの新しいSSHキーを生成し、それをリモートキーまたは認証されたキーに追加します。
  • 自分の.sshディレクトリを/ rootにコピーまたはリンクします。

ただし、設定をもう一度考えてみることもできます。 SSH はコンピュータへの root 権限を必要とせず、root として実行してもリモート側に関する情報は提供されません。

答え2

ある程度関連があるid_rsa.pub文書。 rootユーザーには問題ありませんが、root経由のsudoの場合は明らかに機能しません。

おそらく、これを防ぐルートの特別な状況があるかもしれませんし、推奨された権限やグループ構成の代わりに他の特別な権限が必要になるかもしれません。

「解決策」は公開鍵ファイルを削除することです。

答え3

sudoerファイルを確認し、root権限を持つユーザーを追加する必要があるようです。 sudoersファイルは次の場所にあります(/etc/sudoersLinuxベースによって異なります)。 sudoコマンドを使用するときにユーザーが従う必要がある規則が含まれています。

Linux/Unix バージョンに適した suoders をお読みください。オンラインで間違いなく役立つ多くの資料を入手できます。

https://www.garron.me/en/linux/visudo-command-sudoers-file-sudo-default-editor.html

関連情報