Linuxコマンド辞典 sftpコマンド(ネットワーク)
SSHで通信を暗号化してファイルを転送する「sftp」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
概要・使用方法
書式
$ sftp [オプション] ホスト名
$ sftp [ユーザー名@]ホスト名[:ファイル名・・・]
$ sftp [ユーザー名@]ホスト名[:ディレクトリ名]
$ sftp -b ファイル名 [ユーザー名@]ホスト名
SSHの通信暗号化を利用し、ftpをシュミレートしたファイル転送を行うことができます。
対話的に利用できるサブコマンド
サブコマンド | 説明 |
---|---|
bye, exit | sftpを終了する |
cd パス | リモートホスト側でカレントディレクトリを変更する |
get ファイル名 | 指定したファイルをダウンロードする |
help | ヘルプを表示する |
lcd | ローカルホスト側でカレントディレクトリを変更する |
lls | ローカルホスト側でカレントディレクトリのファイルを一覧表示する |
ls | リモートホスト側でカレントディレクトリのファイルを一覧表示する |
lpwd | ローカルホスト側でカレントディレクトリのパスを表示する |
pwd | リモートホスト側でカレントディレクトリのパスを表示する |
put ファイル名 | 指定したファイルをアップロードする |
! コマンド | ローカルホストのシェルでコマンドを実行する |
オプション
-b バッチファイル名 | 標準入力の代わりに指定したバッチファイルに記述されたコマンドを読み込む |
-F SSH設定ファイル名 | 利用するSSH設定ファイルを指定する |
-C | SSHの圧縮転送を利用する |
-r | アップロード/ダウンロードの際に再帰的に処理する |
-i 秘密鍵 | 公開鍵認証で利用する秘密鍵を指定する |
-P ポート番号 | サーバのポート番号を指定する |
SSH上で通信を暗号化してファイルを転送する
$ sftp ユーザー名@IPアドレス:ディレクトリ or ファイル名
実行結果
[rin@localhost ~]$ sftp rin@192.168.0.102:test.txt
rin@192.168.0.102's password:
Connected to 192.168.0.102.
Fetching /home/rin/test.txt to test.txt
/home/rin/test.txt 0% 0 0.0KB/s --:-- ETA
[rin@localhost ~]$
バッチファイルを指定してSSH上で通信を暗号化してファイルを転送する
実行結果
$ cat sftp.bat #<ftpコマンドを記述したバッチファイルを用意する
get test.txt
quit
$ sftp -b sftp.bat 192.168.0.10 #<バッチファイルを指定する
rin@192.168.0.10's password: #<パスワードを入力する
sftp> get test.txt #ファイルを終了する
sftp> quit #終了する