リモートVPSでSSH接続なしでssh_configを編集する

リモートVPSでSSH接続なしでssh_configを編集する

昨日はリモートサーバーを構築し、セキュリティを守るために忙しかった。私はコーディング、プログラミング、Webホスティングが初めてですが、私のウェブサイトをホストしようとしています。

だから昨日ファイルのいくつかの設定を変更しましたsshd_config。私が変えた行の一つはPermitRootLoginno今は設定しておきました。

今私のサーバーに再度ログインしてより多くの内容を変更したいのですが、おなじみのログイン方法は次のとおりです。

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_configrootで編集

ユーザーがパスワードベースの認証を実行できない場合は、特権を持つ「一般」ユーザーアカウントがroot必要です。sudoこの場合:

  • 「一般」ユーザーアカウントでログインしてください。
  • sshd_configビア編集sudo
    normal_user@server_IP:~$ sudo vi /etc/ssh/sshd_config
    

上記のいずれも該当しない場合は、ネットワーク プロバイダにお問い合わせください。

関連情報