SFTP によるファイル転送
WinSCP、FileZilla、標準の sftp クライアント、macOS Finder を使ってサーバーからファイルをアップロード・ダウンロードする方法を、通常の FTP と混同せずに説明します。
更新日 2026年8月23日
SFTPは同じSSH接続を使ったファイル転送です。別途サーバーを用意する必要はありません。sshが通れば、SFTPも通ります。
グラフィカルクライアントでの接続
設定はWinSCP、FileZilla、Cyberduckで共通です。
| 項目 | 値 |
|---|---|
| プロトコル | SFTP(FTPでもFTPSでもありません) |
| ホスト | 「概要」タブに記載されたマシンのアドレス |
| ポート | 22 |
| ユーザー | rootまたはご自身のユーザー |
| パスワード | 「アクセス」タブに記載されたrootパスワード |
| 鍵 | パスワードログインを無効にしている場合は秘密鍵のパス |
WinSCPは.ppk形式の鍵しか受け付けません。変換方法はPuTTYの記事で解説しています。FileZillaは通常のOpenSSH鍵も読み込めます。
ポート21と「平文FTP」はこのマシンでは動作せず、設定する必要もありません。FTPはパスワードを平文で送信します。常にSFTPを選択してください。
コマンドラインクライアント
Windows、macOS、Linuxに標準搭載されています。
sftp root@203.0.113.10
内部ではシンプルなコマンドが使えます。
ls
cd /var/www
lcd C:\work
put index.html
put -r ./site
get /var/log/nginx/error.log
bye
putはマシンへ送信し、getはお使いのコンピューターへファイルを取得します。lで始まるコマンド(lcd、lls)はお使いのコンピューター側で動作します。
~/.ssh/configファイルを設定していれば、sftp vdsだけで接続できます。
macOSとLinuxのファイルマネージャー
Finderでは「移動」→「サーバへ接続」→sftp://root@203.0.113.10と入力します。GNOME Filesでは「他の場所」欄にアドレスを入力してください。マシンのディレクトリがネットワークフォルダーとして開きます。
継続的に作業する場合は、ディレクトリをローカルのものとしてマウントする方が便利です。
sshfs root@203.0.113.10:/var/www /mnt/vds
ファイルの配置場所
| 内容 | 場所 |
|---|---|
| ウェブサイト | /var/www/<domain> |
| アプリケーションまたはボット | /opt/<name> |
| 個人ファイル | ユーザーのホームディレクトリ |
| 一時ファイル | /tmp(再起動時に消去されます) |
アップロード後は、多くの場合オーナーを設定する必要があります。設定しないとウェブサーバーが403を返します。
chown -R www-data:www-data /var/www/example.com
chmod -R 755 /var/www/example.com
よくあるエラー
| 症状 | 原因 |
|---|---|
書き込み時にPermission denied | ディレクトリが別のユーザーに属しており、rootでログインしていない |
| SSHは通るのにクライアントが接続できない | 設定でSFTPではなくFTPが選択されている、またはポートが21になっている |
| アップロードは成功したがサイトがファイルを認識しない | ディレクトリが間違っている、またはオーナーが設定されていない |
| 大きなファイルで切断される | クライアントでkeepaliveを有効にしてください。大きなアップロードにはrsyncがおすすめです。途中から再開できます |
| ロシア語のファイル名が文字化けする | クライアント設定でUTF-8エンコーディングを指定してください |
SFTPが最適でない場合
数百の小さなファイルや繰り返しのデプロイにはrsyncの方が高速です。変更分だけを転送します。単一ファイルならscpの方がシンプルです。どちらのコマンドもscpとrsyncの記事で解説しています。