開始する前に
目的
このチュートリアルでは、Oracle Compute Cloud ServiceインスタンスでSSH対応ユーザーを作成し、新しいユーザーにsudo
権限を付与する方法について説明します。
所要時間
15分
背景
Oracle Compute Cloud Serviceは、Oracle Java Cloud ServiceとOracle Database Cloud Serviceのインスタンス用として計算、ネットワーキングおよびブロック・ストレージのインフラストラクチャを提供します。
Oracle Java Cloud ServiceまたはOracle Database Cloud Serviceのインスタンスを作成する場合、基礎となるOracle Compute Cloud Service VM上でopc
という名前のユーザーが自動的に作成されます。インスタンスの作成時に指定した公開鍵に対応するSSH秘密鍵を使用することにより、opc
としてこれらのVMに対してssh
を実行できます。場合によっては、Oracle Compute Cloud Service VMで追加のSSH対応ユーザーを作成することもできます。
注意: Oracle Java Cloud Serviceインスタンスを停止して再起動すると、基礎となるOracle Compute Cloud Service VMに対して行った変更(ユーザーの作成を含む)は失われます。
必要なもの
新しいユーザーを作成するOracle Java Cloud ServiceまたはOracle Database Cloud ServiceノードのパブリックIPアドレス。
SSH鍵ペアの生成
-
ローカル・マシン(Oracle Java Cloud ServiceまたはOracle Database Cloud Serviceノードでない)上で、次の例に示すように、新しいユーザーが使用するSSH鍵ペアを生成します。
ファイル名の入力を求められたら、任意のファイル名を入力します。パスフレーズの入力を求められたら、[Enter]を押してパスフレーズを入力せずに次に進みます。
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/joe/.ssh/id_rsa): /home/joe/.ssh/myadmin Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/joe/.ssh/myadmin. Your public key has been saved in /home/joe/.ssh/myadmin.pub. The key fingerprint is: e1:e0:f7:31:83:96:a5:8d:f6:f7:9c:1d:cb:2d:3e:7f joe@abc01234 The key's randomart image is: +--[ RSA 2048]----+ | | | | | . . . | | . o O | | . S = | | + o + | | o . . | | . o+oE| | .=*=| +-----------------+
この例では、秘密鍵は
/home/joe/.ssh/myadmin
に格納されており、公開鍵は/home/joe/.ssh/myadmin.pub
に格納されています。 -
公開鍵の値をテキスト・ファイルにコピーします。これは、このチュートリアルの後半で必要になります。
$ cat /home/joe/.ssh/myadmin.pub ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuOb4NO1l6QckeVgk/8ZdJc8UkfYYK/8CiAewxZdMRkuTMmjmmgr21ulRd4MompURb+Xw/cVOlK2eaBJRL9TXzG2Mf5gj8lyeve2GoIhiFXrV6bU9DlVSrf+y3BqNMixsF1/aSizP2PHmnECZyWdIKi5KdvNtyVE6f5Ul/286yJf3LCNP+bKLHv6uL8KwhArlz8cfv1OGYpzVW6e7Ja824RdHRTXOuh7JAR/1tGtd9lbZW/qqClyJlSbWVOh46l/2DdqoWQx6L7qzW3AzWVnTniFY4T8W06qT9pNbE08ygyCPVRfu8ZlBmRihFYRxdX4wm1P5qWj7RVhfmpq/AFrEyQ== joe@abc01234
ユーザーの作成およびユーザーに対するSSHアクセスの有効化
-
新しいユーザーを作成するOracle Java Cloud ServiceまたはOracle Database Cloud Serviceに対して
opc
としてssh
を実行します。ssh
コマンドで、-i
オプションを使用して、Oracle Java Cloud ServiceまたはOracle Database Cloud Serviceインスタンスの作成時に指定した公開鍵に対応する秘密鍵を指定します。$ ssh -i ~/.ssh/occs opc@11.12.13.14 Authorized uses only. All activity may be monitored and reported.
- ユーザーを追加するには、
root
ユーザーである必要があります。次のコマンドを実行します。[opc@joedb ~]$ sudo su
-
ユーザーとして、たとえば、
myadmin
を作成します。[root@joedb opc]# useradd myadmin
-
新規ユーザーのホーム・ディレクトリで
.ssh
ディレクトリを作成します。[root@joedb opc]# mkdir /home/myadmin/.ssh
-
「SSH鍵ペアの生成」の手順2で書き留めた公開鍵値をOracle Database Cloud ServiceまたはOracle Java Cloud Serviceノード上の
/home/myadmin/.ssh/authorized_keys
ファイルにコピーします。[root@joedb opc]# echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0ibAEmysI4o1zfb4dOJIyaN67pya8AnOozVewilpv560jiagTzwrPG8bmK4GL3KEUc3lxZ/Xhj7RvdOD0qMAx0fFB3r80ZSy1KlkIXwKumUY+YBMyn1xdMluWS/J4JWKBpuoOMNTGy7QdCPIHrt07OnwSxvZsoyTsh9QZ/eJv4qR0YaFkAHyH9Si2hTC/6G6CZdXkw93LyEtW1ykxxkSJB6JYwB8FsBMcXPvYJ5CiR30fKqo6GP+WTz1xbTbahLLO31mx/qSDntcXEYgfpw7Abi8W6LSkExFOxrsKir8QqZregznVeWPiht9kf4PT9C3WOoDzA0aF1q+g1CJ1EhZow== joe@abc01234" > /home/myadmin/.ssh/authorized_keys
-
公開鍵がOracle Database Cloud ServiceまたはOracle Java Cloud Serviceノードに正常にコピーされたことを確認します。
[root@joedb opc]# cat /home/myadmin/.ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA0ibAEmysI4o1zfb4dOJIyaN67pya8AnOozVewilpv560jiagTzwrPG8bmK4GL3KEUc3lxZ/Xhj7RvdOD0qMAx0fFB3r80ZSy1KlkIXwKumUY+YBMyn1xdMluWS/J4JWKBpuoOMNTGy7QdCPIHrt07OnwSxvZsoyTsh9QZ/eJv4qR0YaFkAHyH9Si2hTC/6G6CZdXkw93LyEtW1ykxxkSJB6JYwB8FsBMcXPvYJ5CiR30fKqo6GP+WTz1xbTbahLLO31mx/qSDntcXEYgfpw7Abi8W6LSkExFOxrsKir8QqZregznVeWPiht9kf4PT9C3WOoDzA0aF1q+g1CJ1EhZow== joe@abc01234
-
新しいユーザーに対してSSHアクセスを有効にするには、
vi
または他のエディタを使用して/etc/ssh/sshd_config
ファイル内のAllowUsers
パラメータを編集します。/etc/ssh/sshd_config
内のデフォルトのAllowUsers
設定は、次のとおりです。AllowUsers oracle opc
次に示すように、
AllowUsers
設定を変更します。AllowUsers oracle opc myadmin
-
/home/myadmin/.ssh
ディレクトリの所有者およびグループをroot
から新しいユーザーmyadmin
に(再帰的に)変更します。[root@joedb opc]# chown -R myadmin:myadmin /home/myadmin/.ssh
-
sshd
サービスを再起動します。[root@joedb opc]# /sbin/service sshd restart Stopping sshd: [ OK ] Starting sshd: [ OK ]
新規ユーザーのsudo権限の有効化
-
新しいユーザーの
sudo
権限を有効にするには、visudo
コマンドを使用して/etc/sudoers
ファイルを編集します。sudo visudo -f /etc/sudoers
/etc/sudoers
で、次の行を探します。%opc ALL=(ALL) NOPASSWD: ALL
前述の行の直後に、次の行を追加します。
%myadmin ALL=(ALL) NOPASSWD: ALL
この場合、
myadmin
は、新しいmyadmin
ユーザーが属する自動作成グループです。 -
rootユーザー・セッションを終了し、Oracle Database Cloud ServiceまたはOracle Java Cloud Serviceノードを終了します。
これで、「SSH鍵ペアの生成」の手順1で生成した秘密鍵を使用して、myadmin
としてOracle Database Cloud ServiceまたはOracle Java Cloud Serviceノードに対してssh
を実行できます。
$ ssh -i /path/to/private/key myadmin@public_ip_address
Authorized uses only. All activity may be monitored and reported.
[myadmin@joedb ~]$
注意: Oracle Java Cloud Serviceインスタンスを停止して再起動すると、基礎となるOracle Compute Cloud Service VMに対して行った変更(ユーザーの作成を含む)は失われます。