JavaScriptを有効にしてください

sftpコマンドによるファイル転送

 ·   3 min read

はじめに

sftpコマンドを使ったファイル転送や、ディレクトリ関連の操作に関する方法をまとめました。SFTP (SSH File Transfer Protocol) は、暗号化された通信経路によって、ファイルを送受信するプロトコルです。

リモートマシンへのログイン

まず、以下のコマンドでリモートマシンへログインします。

$ sftp <ユーザ名>@<IPアドレス>
# 例
$ sftp [email protected]

ログイン時にパスワードを求められます。ログインすると、プロンプトがsftp>に変わります。

sftp>

また、-Pオプションでポート番号を指定できます。指定しない場合のデフォルトのポートは、SSH接続で通常使用される22番になります。

# 2222番ポートで接続する例
$ sftp -P 2222 [email protected]

ファイルの送受信

ファイルの送信

putコマンドでローカルマシンのファイルをリモート側に送信します。リモート側のパスを省略した場合、リモート側のカレントディレクトリに配置されます。

sftp> put <ローカルのファイル> [リモート側のパス]
# 例
sftp> put hoge.txt /home/

また、フォルダごと送信する場合、-rオプションを付けます。rは再帰的 (Recursive) の頭文字です。

# piyoフォルダの中身を全て送信する
sftp> put -r piyo/

ファイルの受信

getコマンドでリモートマシンのファイルをローカル側に受信します。ローカル側のパスを省略した場合、ローカル側のカレントディレクトリに配置されます。

sftp> get <リモートのファイル> [ローカル側のパス]
# 例
sftp> get hoge.txt /home/

また、フォルダごと受信する場合、-rオプションを付けます。

# piyoフォルダの中身を全て受信する
sftp> get -r piyo/

ディレクトリ関連の操作

カレントディレクトリの確認

sftpで接続した状態では、ローカルマシンとリモートマシンの両方のカレントディレクトリの情報を持った状態となります。それぞれlpwd, pwdコマンドで確認できます。

# ローカルマシンのカレントディレクトリ
sftp> lpwd

# リモートマシンのカレントディレクトリ
sftp> pwd

ファイルのリスト表示

ローカルマシンやリモートマシンのカレントディレクトリにあるファイルを一覧表示する場合、それぞれlls, lsコマンドを実行します。

# ローカルマシンのカレントディレクトリのファイルを表示
sftp> lls

# リモートマシンのカレントディレクトリのファイルを表示
sftp> ls

カレントディレクトリの移動

ローカルマシンやリモートマシンのカレントディレクトリを移動する場合、それぞれlcd, cdコマンドを実行します。

# ローカルマシンのディレクトリ移動
sftp> lcd <移動先のフォルダ>

# リモートマシンのディレクトリ移動
sftp> cd <移動先のフォルダ>

フォルダの新規作成

ローカルマシンやリモートマシンでフォルダを新規作成する場合、それぞれlmkdir, mkdirコマンドを実行します。

# ローカルマシンのフォルダ作成
sftp> lmkdir <フォルダ名>

# リモートマシンのフォルダ作成
sftp> mkdir <フォルダ名>

sftp接続の終了

sftp接続を終了するには、bye, exit, quitのいずれかのコマンドを実行します。

sftp> bey

$

参考

sftp(1) - OpenBSD manual pages

シェアする

Helve
WRITTEN BY
Helve
関西在住、電機メーカ勤務のエンジニア。X(旧Twitter)で新着記事を配信中です

サイト内検索