1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

初学者向け:VirtualBox上で構築したUbuntuサーバーにrootユーザーで直接SSH接続する設定方法

Last updated at Posted at 2024-12-31

はじめに

前回、構築したUbuntuサーバーにrootユーザーでSSH接続を試みたところ、直接ログインができないことが判明しました。

Ansibleのクライアントサーバーとして使用する予定でしたが、この問題を解決しないと後続の作業に進めないため、対応していきます。

本記事では、その原因特定から解決方法までをまとめてご紹介します。

前提知識

本記事では、主にrootユーザーでSSH接続を設定する方法について解説します。

VirtualBoxやUbuntuに関しての基礎知識については、以下の記事をご参考ください。

VirtualBox関連の記事

SSH関連の記事

Ubuntu関連の記事

困っていたこと

自宅のVirtualBox上にサーバーを構築しましたが、SSHやTeraTermを使用してrootユーザーで直接ログインしようとしたところ、以下のエラーが表示されました。

[root@HONDA-TEST ~]# ssh root@192.168.1.7
root@192.168.1.7's password:
Permission denied, please try again.
root@192.168.1.7's password:

補足として、一般ユーザーでSSH接続した後、rootユーザーに切り替えることは可能な状態です。

honda@honda-ubuntu:~$ sudo su -
[sudo] password for honda: 
root@honda-ubuntu:~# 

原因特定してみた

このエラーは、以下のいずれかの原因が考えられます。

  • 入力したパスワードが正しくない。
  • リモートサーバー(192.168.1.7)のSSH設定が適切に構成されていない。

まず、リモートサーバーに直接アクセスし、rootユーザーのパスワードをリセットしてみました。

passwd

新しいパスワードを設定しましたが、それでも問題は解決しませんでした。

そこで、SSH設定ファイルが問題の原因であると切り分けました。

リモートサーバーのSSH設定ファイル(/etc/ssh/sshd_config)を確認し、以下の設定をチェックしました。

PermitRootLogin の設定

root@honda-ubuntu:~# cat /etc/ssh/sshd_config | grep PermitRootLogin
#PermitRootLogin prohibit-password
# the setting of "PermitRootLogin prohibit-password".

問題は、#PermitRootLoginがコメントアウトされており、適切に有効化されていないことでした。

結論として、/etc/ssh/sshd_config の中身を一部修正することで問題は解決します!

実際に解決してみた

設定ファイルを編集する際は、事前にバックアップを取ることを強くお勧めします。

1.SSH設定の確認

リモートサーバーのSSH設定ファイル /etc/ssh/sshd_config を確認し、以下の設定を確認・変更します。

PermitRootLogin の設定

PermitRootLogin yes

この項目が no に設定されている場合、root ユーザーでのSSHログインが禁止されています。yes に変更してください。

2. SSHサービスの再起動

設定を編集した後、以下のコマンドを実行してSSHサービスを再起動します。

sudo systemctl restart ssh

再度、rootユーザーでSSH接続を試みる

以下のコマンドを実行して、rootユーザーでSSH接続を試みます。

ssh root@192.168.1.7

今回はMacBookのターミナルからSSHコマンドを使用し、rootユーザーで直接ログインすることができました。

➜  ~ git:(main) ✗ ssh root@192.168.1.7
Warning: Permanently added '192.168.1.7' (ED25519) to the list of known hosts.
root@192.168.1.7's password: 
Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-51-generic x86_64)

・・・(省略)

Last login: Tue Dec 31 07:33:32 2024 from 192.168.1.9
root@honda-ubuntu:~# 

正しいパスワードを入力して接続が成功しました!これで問題解決です!

まとめ

今回は、構築したサーバーに対してrootユーザーで直接SSH接続ができない問題について、原因の特定から解決までを行いました。

今日はAnsibleの学習を進める予定でしたが、それ以前にサーバー環境の構築に時間を費やしてしまいました(笑)。

とはいえ、一つ一つの技術に丁寧に向き合うことで、自分自身のスキルアップにつながると信じています...。

この記事が、同じ問題に直面した方の参考になれば幸いです!

参考記事

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?