Database Support Blog

  • Oracle Cloud
2022.04.07

【Oracle Cloud】opcユーザー以外のssh接続を許可する方法

opcユーザー以外のssh接続を許可する方法

Oracle Cloud Infrastructure上に、ComputeインスタンスやDBシステムを構築すると、システム管理者ユーザーであるopcユーザーが作成されます。

Linux OS上で何らかの作業を実施する場合、先ずopcユーザーでSSH接続をして、sudoコマンドを介して操作を行うことが一般的ですが、お客様の中にはopcユーザー以外からSSH接続を必要とするケースもあるかと思います。

今回は、opcユーザー以外のユーザーからSSH接続を行う方法をご紹介します。

※Computeインスタンスの場合は一般ユーザー以外にrootユーザーもSSH接続が可能ですが、DBシステムの場合は一般ユーザーのみとなります。
※SSH接続の設定が完了しても、opcユーザーの削除や無効化は控えてください。


ssh接続を許可する方法

新規作成の一般ユーザーの場合

1.ホストOSにopcユーザーでログイン後、rootユーザーにスイッチします。

 
 (opc) $ sudo su - 
 

2.対象ユーザー用のSSHキー・ペアを生成します。

 
 (root) # ssh-keygen -t rsa -N "<パスフレーズ>" -b 2048 -C "<任意のコメント>" -f ~/.ssh/id_rsa
 
 実行例:”sample”として作成する場合
 (root) # ssh-keygen -t rsa -N "sample" -b 2048 -C "sample_key" -f ~/.ssh/sample_id_rsa 
 

3.対象ユーザーを作成します。

 
 (root) # useradd <ユーザー名>
 
 .実行例:”sampleuser”として作成する場合
 (root) # useradd sampleuser 
 

4.対象ユーザーのホームディレクトリに.sshディレクトリを作成します。

 
 (root) # mkdir -p /home/<対象ユーザー名>/.ssh
 
 .実行例:”sampleuser”として作成する場合
 (root) # mkdir -p /home/sampleuser/.ssh
 

5.2で作成したSSH公開キーの内容を対象ユーザーのauthorized_keysファイルにコピーします。

 
 (root) # cat ~/.ssh/id_rsa.pub > /home/<対象ユーザー名>/.ssh/authorized_keys
 
 .実行例:”sampleuser”に実行する場合
 (root) # cat ~/.ssh/id_rsa.pub > /home/sampleuser/.ssh/authorized_keys
 

6./etc/ssh/sshd_configファイルのAllowUsersパラメータに対象ユーザーを追記します。
  ※Computeインスタンスの場合は不要です。

 
 (root) # vi /etc/ssh/sshd_config
 
 .実行例:”sampleuser”を追記する場合
 AllowUsers sampleuser
 
 .※DBシステムの場合、すでにgridユーザーとoracleユーザーが記載されていますので下に追記します
 AllowUsers grid
 AllowUsers oracle
 

7./home/<ユーザー名>/.sshディレクトリの所有者およびグループを対象ユーザーに変更します。

 
 (root) # chown -R <ユーザー名>:<グループ> /home/<ユーザー名>/.ssh
 
 .実行例:”sampleuser”を設定する場合
 (root) # chown -R sampleuser:sampleuser /home/sampleuser/.ssh
 

8.SSHデーモンを再起動します。

 
 (root) # /sbin/service sshd restart
 Redirecting to /bin/systemctl restart sshd.service
 

9.対象ユーザーにsudo権限を有効にする場合は、visudoコマンドで/etc/sudoersファイルを編集します。

 
 (root) # visudo
 
 以下を追記します。
 <ユーザー名> ALL=(ALL) NOPASSWD: ALL
 
 .実行例:”sampleuser”を設定する場合
 sampleuser ALL=(ALL) NOPASSWD: ALL
 

10.2で作成したSSH暗号キーファイルをクライアント端末に配置してターミナルソフトからSSH接続できることを確認します。


rootユーザーの場合

Computeインスタンスであれば、直接rootユーザーでSSH接続を行うことが可能です。


1.ホストOSにopcユーザーでログイン後、rootユーザーにスイッチします。

 
 (opc) $ sudo su - 
 

2.SSHキー・ペアを生成します。

 
 (root) # ssh-keygen -t rsa -N "<パスフレーズ>" -b 2048 -C "<任意のコメント>" -f ~/.ssh/id_rsa
 

3./root/.ssh/authorized_keysファイルから以下の文字列を削除します。

 
 (root) # vi /root/.ssh/authorized_keys
 
 ※削除する文字列(表示上、改行しています)
 "no-port-forwarding,no-agent-forwarding,no-X11-forwarding,command="echo  'Please login as the user \"opc\" rather than the user \"root\".';echo;sleep 10""keys. 
 

4.2で作成したSSH公開キーの内容をrootユーザーのauthorized_keysファイルにコピーします。

 
 (root) # cd ~/.ssh
 (root) # cat id_rsa.pub > authorized_keys
 

5.2で作成したSSH暗号キーファイルをクライアント端末に配置してターミナルソフトからSSH接続できることを確認します。


まとめ

今回は、opc以外のユーザーでもSSH接続を行う方法をご紹介しました。

基本的にはopcユーザーからsudoコマンドを介して管理操作を実施いただくことが望ましいですが、お客様の運用上、opc以外のユーザーからSSH接続を行う必要がある場合には本記事や以下マニュアルを参考の上、設定実施をご検討いただけますと幸いです。

Linuxインスタンスでのキー・ペアの管理
https://docs.oracle.com/ja-jp/iaas/Content/Compute/Tasks/managingkeypairs.htm#Managing_Key_Pairs_on_Linux_Instances


執筆者情報

いちじょう だいさく プロフィール画像

2018年アシスト入社後、Oracle Databaseフィールド業務に従事。2019年からはOracle Cloudのフィールド業務とサポート業務を兼務中 ...show more


■本記事の内容について
 本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。

■商標に関して
 ・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
 ・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
  文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
  • Oracle Database
2024.02.02

OCIにおけるOracle Database 11g R2、12g R1、12g R2の新規プロビジョニング終了とその影響

Oracle Databaseのバージョン11g R2、12g.R1、12g.R2は既にすべてのメーカーサポートが終了しています。OCIのBase Database Serviceでも2024年1月中旬ころから11g R2、12g R1、12g R2での新規プロビジョニングができなくなりました。

  • Oracle Cloud
2024.01.19

Oracle Cloudのサービスリミットを理解し、適切に対処する方法

Oracle Cloudでクラウドアカウントごとに設定されているサービスの利用上限値「サービス制限(サービスリミット)」の引上げ方法とその注意点をご紹介します。

  • Oracle Database
  • Oracle Cloud
2023.12.15

ライセンスの観点から考えるOracle Cloudのススメ

オラクル社が提供しているクラウドサービス「Oracle Cloud」は、Oracle Databaseライセンス観点でも様々な効果があることはご存じでしょうか? ここでは「ライセンス」に焦点をあて、Oracle Cloudがおススメできるポイントを説明します。

ページの先頭へ戻る