winscpでscpやftpを利用するときの便利な設定

2018.5.24

はじめに

windowsのftp、scpクライアントとして使用しているWinSCPの便利な設定についてまとめています。

同時接続数を増やす

同時接続数を増やすことで、ファイルのアップロードやダウンロードが複数ファイル同時に行われるようになるため、全体の転送時間が短くなります。

メニュー > オプション > 環境設定 とクリックして、環境設定画面を開きます。

ツリーメニューから転送の中のバックグランドをクリックします。

右側に表示される設定項目を下記のように設定します。

画像

この設定を行うことで、ファイルのアップロード、ダウンロードが最大同時接続数に指定した数だけ、同時に行われるようになります。

注意点として、レンタルサーバによっては最大同時接続数の制限がありますので、確認が必要です。

サーバ側で制限が入っている場合は、クライアント側でいくら数を増やしてもエラーになるだけです。

sudo/root権限でファイルを操作する

winscpでlinuxサーバに接続して、root権限のファイルを編集する方法です。

sshでログインしてファイルを編集するときには、sudo vi /path/to/fileのようなコマンドでroot権限のファイルを編集できますが、winscpの場合は少しだけ設定が必要です。

winscpからsudoを使うためには、sudersの設定を行う必要があります。

ubuntu16.04ltsの場合

下記のコマンドを実行して、設定ファイルを開きます。

sudo visudo

一番下の行に下記の1行を追加します。

[yourusername] ALL=NOPASSWD: /usr/lib/openssh/sftp-server

[yourusername]の部分は接続したいユーザの名称に変更してください。

保存は、viの保存と同じです。

ubuntu16.04ltsにも、# includedir /etc/sudoers.dが書かれているのですが、うまく設定ファイルを読み込んでくれませんでしたので、sudo visudoで開かれるファイルを編集することにしました。

ubuntu18.04ltsの場合

sudo visudoコマンドを実行すると、設定ファイルの編集画面が開きますが、設定ファイルの中に下記の1文があります。

# includedir /etc/sudoers.d

/etc/sudoers.dがインクルードされていますので、この下に設定ファイルを置くと読み込んでくれます。

下記のコマンドを実行して設定ファルの作成を行います。

sudo vi /etc/sudoers.d/[yourusername]

[username]の部分は何でもOKです。ユーザー名にしておくと、あとから見たときに分かりやすいです。

設定ファイルの中には下記のような1行を書きます。

[yourusername] ALL=NOPASSWD: /usr/lib/openssh/sftp-server

[yourusername]の部分は接続したいユーザの名称に変更してください。

/usr/lib/openssh/sftp-serverについて

使いたいコマンドがあれば他にも追加すれば良いですが、今回は/usr/lib/openssh/sftp-serverだけなので、このコマンドだけパスワードを聞かれずに実行できるようにします。

ubuntu18.04lts、ubuntu16.04ltsの場合は、/usr/lib/openssh/sftp-serverになります。

他のディストリビューションの場合は、sftp-serverを探して、フルパスで指定してください。

winscp側の設定

今度は、winscp側の設定です。

いつもどおり新しい接続先の追加を行えば良いですが、「転送プロトコル」をsftpにする必要があります。

設定>環境>SFTPと進み、SFTPのプロトコルオプションを指定します。

「SFTPサーバー」という項目がありますので、下記のコマンドを入力します。

sudo /usr/lib/openssh/sftp-server

設定が完了したら、実際に接続します。

接続して、root権限のファイルがwinscp経由で編集できるようになっていれば成功です。

英語ですが、公式にもやり方が書かれていますので、参考にしてください。

https://winscp.net/eng/docs/faq_su

以上でwinscpからrootでファイルを編集することができるようになりましたが、root権限でのファイル操作がGUIからできるようになりましたので、大切なファイルを間違って編集したりしないように気をつけてください。