WinScpで自動でsudoしてroot権限でログインする方法


この記事はプロモーションを含みます。

Linux

FTPクライアントソフトである「WinScp」で、Linux機器に接続する際、自動でsudoしてroot権限でログインする方法を解説します。

はじめに・環境

WinScpで、Linux機器に接続する際、rootユーザーで直接ログインするのではなく、一般ユーザーでsudoしつつ、root権限でログインする方法を説明したいと思います。

本記事の執筆時の環境は、以下の通りです。

  • WinScpのバージョン:5.19.2
  • 接続先のLinux:AlmaLinux release 9.0 (Emerald Puma)

事前準備

まず、事前準備として、Linux側の設定を変更する必要があります。
変更する設定としては、接続時に使用する一般ユーザーにsudo権限を付与します。

sudo権限を付与するには、visudoコマンドを使用します。
使用方法は、以下を参考にして下さい。

visudoコマンドで設定する内容は以下の通りです。

ユーザー名    ALL=NOPASSWD:       sftp-serverのパス

記述例です(ここで記述するパスは、次項で使用するため、控えておいて下さい)

ftpuser    ALL=NOPASSWD:       /usr/libexec/openssh/sftp-server

ここで設定する「sftp-serverのパス」ですが、環境によって異なります。
よくあるパスとしては、以下のようなものがあるようです。

  • /usr/libexec/openssh/sftp-server
  • /usr/lib/openssh/sftp-server
  • /bin/sftp-server

設定するパスが分からない場合は、下記のコマンドで確認することが出来ます。

[root@localhost ~]# cat /etc/ssh/sshd_config | grep sftp
Subsystem       sftp    /usr/libexec/openssh/sftp-server

事前準備は以上となります。続いて、WinScpの設定を行います。

設定方法

ここでは、WinScpの設定を行います。

まず、WinScpを起動し、「設定」ボタンをクリックします。

高度なサイトの設定画面が表示されるので、左側にあるメニューより、[環境]-[SFTP]を選択します。
次に、右側にある「SFTPサーバ」に、下記を入力します。

sudo sftp-serverのパス

今回の場合は、以下のようになります。

設定後は、「OK」ボタンをクリックし、その他の接続先情報を設定します。
設定は以上なので、動作確認として、Linux機器に接続後、「/root/」ディレクトリなどにアクセスし、エラーが発生しなければ、無事にroot権限で接続出来ています。

作業は以上となります。

コメント

タイトルとURLをコピーしました