昨日はリモートサーバーを構築し、セキュリティを守るために忙しかった。私はコーディング、プログラミング、Webホスティングが初めてですが、私のウェブサイトをホストしようとしています。
だから昨日ファイルのいくつかの設定を変更しましたsshd_config
。私が変えた行の一つはPermitRootLogin
。no
今は設定しておきました。
今私のサーバーに再度ログインしてより多くの内容を変更したいのですが、おなじみのログイン方法は次のとおりです。
ssh root@server_IP
私に出力を与える:
Permission denied
以前のようにリモートサーバーにログインできなくなりました。私が知っている限り、SFTPアカウントを介してのみサーバーに接続できますが、実際にサーバーを更新して新しいソフトウェアなどをインストールすることはできません。
root
それでは、ユーザーとして自分のサーバーに再接続するにはどうすればよいですか?サーバーにユーザーとして接続されてい/etc/ssh/sshd_config
ないため、ファイルを開く方法がわかりません。root
答え1
この質問に対する答えは、サーバーの正確な構成によって異なりますが、もし
- そのサーバーから別のユーザーとしてログインできます(たとえば、SFTPユーザーに言及しました。ユーザーが「一般」SSHセッションを使用してログインすることも、SFTP接続に制限されていないことを確認してください)。そして
- あなたのサーバー設定は
root
パスワードベースの認証を可能にします(つまり、SSHキーの使用に限定されません)。
root
それからそれを行うことができるはずですsu
。
したがって、ステップは次のようになります。
- 「一般」ユーザーアカウントでログインしてください。
local_user@local_computer:~$ ssh normal_user@server_IP normal_user@server_IP's password:
- 次のようになります
root
。normal_user@server_IP:~$ su - Password: root@server_IP:~#
sshd_config
rootで編集
ユーザーがパスワードベースの認証を実行できない場合は、特権を持つ「一般」ユーザーアカウントがroot
必要です。sudo
この場合:
- 「一般」ユーザーアカウントでログインしてください。
sshd_config
ビア編集sudo
:normal_user@server_IP:~$ sudo vi /etc/ssh/sshd_config
上記のいずれも該当しない場合は、ネットワーク プロバイダにお問い合わせください。