web-dev-qa-db-ja.com

特定のユーザーとしてsshでログインする方法は?

Ubuntu AWSでは instancesshをSudo権限を持つ "thufir"として入力します。 Sudo adduser thufirを使用してユーザーthufirを作成し、次に「ubuntu」ユーザーからadduser thufir Sudoを作成しますか?単に add 公開鍵を~/.ssh/authorized_keysに追加すると、リモートインスタンスに「thufir」としてsshできるようになりますか?

通常の公開鍵を使用してAWSに「ubuntu」としてログインできますか、それともAWSが生成した鍵が必要ですか?

自分のキーを使用してsshを "ubuntu"として使用できるようにしたい-それは可能ですか? 「ubuntu」ユーザーにはパスワードはなく、厳密にキーログインします。

4
Thufir

同じssh公開鍵を、同じシステムおよび複数のシステム上の複数のユーザーの認証鍵として使用できます。

ssh-copy-idを使用して、公開鍵をリモートホストに送信します。 ubuntuユーザーの場合、秘密鍵のコピーが必要で、ssh-copy-id ubuntu@awsを使用すると、デフォルトのssh公開鍵がubuntuユーザーの~/.ssh/authorized_keysファイルにコピーされます。

次の図は、説明のみを目的としており、複数のホストとユーザーにコピーされた同じ公開鍵を示しています。

     .---------------------------------------.
     | aws:/home/thufir/.ssh/authorized_keys |
     |---------------------------------------|
     | ssh-rsa AAAA... user10@Host           |
     '---------------------------------------'
                         ^
                         |
                         |
            ssh-copy-id  |      .---------------------------------------.
                         |      | aws:/home/ubuntu/.ssh/authorized_keys |
                     .---'      |---------------------------------------|
                     |          | ssh-rsa AAAA... user10@Host           |
                     |          '---------------------------------------'
                     |                              ^
 .---------------------------------------.          |
 |    local:/home/user10/.ssh/id_rsa     |          |  ssh-copy-id
 |              Private Key              |          |
 |---------------------------------------|          | 
 |      BEGIN RSA PRIVATE KEY            |----------.
 | Proc-Type: 4,ENCRYPTED                |          |
 | DEK-Info: AES-                        |          |  ssh-copy-id
 '---------------------------------------'          |
                     |                              v  
                     |          .---------------------------------------.
                     '---.      | aws2:/home/user5/.ssh/authorized_keys |
                         |      |---------------------------------------|
                         |      | ssh-rsa AAAA... user10@Host           |
            ssh-copy-id  |      '---------------------------------------'
                         |
                         v
    .----------------------------------------.
    |    aws2:/root/.ssh/authorized_keys     |
    |----------------------------------------|
    | ssh-rsa AAAA... user10@Host            |
    '----------------------------------------'
3
RubberStamp

SSH鍵はパーソナライズされていないため、ユーザーの下に鍵を作成し、公開鍵をリモートサーバー上のターゲットユーザーのauthorized_keysに貼り付けるだけです。

したがって、ローカルワークステーションで「thufir」の下にキーを生成し、リモートサーバーに「ubuntu」としてログオンする場合は、.ssh/id_rsa.pubの内容をユーザーubuntuの.ssh/authorized_keysにコピーする必要があります。リモートサーバーと同様のコマンドを使用

ssh ubuntu@remotehost

Thufirとしてリモートサーバーに接続する場合は、はい、リモートサーバーでユーザーthufirを作成し、それをsudoersに追加してから、公開鍵を新しいユーザーの.ssh/authorized_keysに配置すると、次のようになります。接続できる

ssh thufir@remotehost

または、ローカルボックスにthufirとしてログオンしていることを提案します。

ssh remotehost
6
Sasha Che