質問: gcp-sudoはgooglecloudshellで機能しますが、vmにsshすると機能しません 新しいgoogle compute engine vm(debian 9)を作成し、googlecloud shellを使用してそのシェルを開きました。そのブラウザのシェルウィンドウからsudoできます。次に、ssh-keysとsshをvmに設定します。議論のために、私のユーザー名は「user123」です。私はgcp vmにsshで接続します。ssh user123@1.2.3.4ここで、1.2.3.4は私のgcp外部ipアドレスです。その後、ログインします。したがって、ユーザーuser123 in googlecloudshell sudoは機能しますが、sshを介してログインするとuser123、パスワードの入力を求められます。we trust you have received the usual lecture from the local system administrator. it usually boils down to these three things: #1) respect the privacy of others. #2) think before you type. #3) with great power comes great responsibility. [sudo] password for user123: 当然、パスワードを設定したくない、または設定する必要はありません。これを許可するには、sudoを取得する必要がありますuser123ユーザーアカウントをsudoに。しかし、それはgooglecloudshellにログインしたときに機能します。..うーん...私はそれを追跡しますが、それは私の質問です。注:googlecloudshell(sudoを介して)にルートがあるので、何をすべきかを見つけてこれを修正できるはずです。ssh経由でログインしたときにsudoが機能するために必要な次のステップは何ですか?
回答: gcp計算エンジンを作成した後は、sshからsudoを機能させるために特別なことを行う必要はありません。 @timmybrowneが彼の投稿で言及しているように、明らかにgcp consoleを使用してキーを追加する必要があります。 https://cloud.google.com/compute/docs/instances/adding-removing-ssh-keys をご覧ください。ssh公開鍵がgcp compute engineインスタンスに入力されたら、インスタンスにsshできます。ただし、正しいユーザー名を使用する必要があります。たとえば、gcpのユーザー名がfredsmithで、gcpの外部ipが5.6.7.8の場合、sshコマンドは次のようになります。ssh fredsmith@5.6.7.8そして明らかに、プライベートsshキーは、インスタンスのsshメタデータに入力したパブリックキーと一致する必要があります。ログイン後、sudoを実行できます。これは、gcpが認証情報(fredsmith)を使用してこのインスタンスをすでに設定しており、必要なグループに(fredsmith)を追加しているため、sudoがgcpで機能するように見えるため、google-sudoersのようです。別のユーザーを作成し、そのユーザーにsudo権限を付与する場合は、@ timmybrowneの回答を参照してください。一貫性のない結果が出た理由がまだはっきりしていません。それによって、sudoができる場合もあれば、authorized_keysファイルが削除されたためにできなかった場合もありますが、これをさらに進めるための十分な情報がありません。ティミー・ブラウンが私の質問に答えてくれたので、彼はそれを理解していたので、それは正しいようです。私は彼にこの答えの功績を認めるつもりですが、私の答えを投稿して、同じ動作を他の人が見た場合にこの答えに賛成票を投じ、できれば追跡できるようにしたいと思っています。