OpenSSH : SSH ファイル転送 (FreeBSD)2023/12/19 |
SSH を利用して、暗号化通信によるセキュアなファイル転送をすることができます。
|
|
[1] | SCP (Secure Copy) によるファイルコピーの例です。 |
# 書式 ⇒ scp [オプション] コピー元 コピー先
# ローカルホストの [test.txt] を リモートホスト [node01.srv.world] 上の [freebsd] ユーザーのホームディレクトリ直下へコピーする freebsd@dlp:~ $ scp ./test.txt freebsd@node01.srv.world:~/ (freebsd@node01.srv.world) Password for freebsd@node01.srv.world: test.txt 100% 1003 1.1MB/s 00:00 # リモートホスト [node01.srv.world] 上の [/home/freebsd/test.txt] を ローカルホストのカレントディレクトリにコピーする freebsd@dlp:~ $ scp freebsd@node01.srv.world:/home/freebsd/test.txt ./test2.txt (freebsd@node01.srv.world) Password for freebsd@node01.srv.world: test.txt 100% 1003 1.1MB/s 00:00 |
[2] | SFTP (SSH File Transfer Protocol) によるファイル転送です。 SFTP サーバー機能は FreeBSD ではデフォルトで有効になっていますが、もし有効になっていない場合は [/etc/ssh/sshd_config] に [Subsystem sftp /usr/libexec/sftp-server] の行を追加して sshd をリロードすれば OK です。 |
# sftp [オプション] [ユーザー@ホスト名] freebsd@dlp:~ $ sftp freebsd@node01.srv.world (freebsd@node01.srv.world) Password for freebsd@node01.srv.world: # ログインユーザーのパスワード Connected to node01.srv.world. sftp> # リモートホストのカレントディレクトリ表示 sftp> pwd Remote working directory: /home/freebsd # ローカルホストのカレントディレクトリ表示 sftp> !pwd /home/freebsd # リモートホストのカレントディレクトリのファイル一覧表示 sftp> ls -l -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:12 test.txt # ローカルホストのカレントディレクトリのファイル一覧表示 sftp> !ls -l total 9 -rw-r--r-- 1 freebsd freebsd 1003 Dec 19 10:11 test.txt -rw-r--r-- 1 freebsd freebsd 1003 Dec 19 10:14 test2.txt # ディレクトリを作成して移動 sftp> cd testdir sftp> pwd Remote working directory: /home/freebsd/testdir # ローカルホストのファイルをリモートホストにリネームアップロード sftp> cd ../ sftp> put test.txt freebsd.txt Uploading test.txt to /home/freebsd/freebsd.txt test.txt 100% 1003 1.1MB/s 00:00 sftp> ls -l -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:21 freebsd.txt -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:12 test.txt drwxr-xr-x ? freebsd freebsd 2 Dec 19 10:18 testdir # ローカルホストの複数ファイルをリモートホストに一括アップロード sftp> put *.txt Uploading test.txt to /home/freebsd/test.txt test.txt 100% 1003 1.1MB/s 00:00 Uploading test2.txt to /home/freebsd/test2.txt test2.txt 100% 1003 1.2MB/s 00:00 sftp> ls -l -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:21 freebsd.txt -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:22 test.txt -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:22 test2.txt drwxr-xr-x ? freebsd freebsd 2 Dec 19 10:18 testdir # リモートホストのファイルをローカルホストにダウンロード sftp> get test.txt Fetching /home/freebsd/test.txt to test.txt test.txt 100% 1003 1.1MB/s 00:00 # リモートホストの複数ファイルをローカルホストに一括ダウンロード sftp> get *.txt Fetching /home/freebsd/freebsd.txt to freebsd.txt freebsd.txt 100% 1003 1.1MB/s 00:00 Fetching /home/freebsd/test.txt to test.txt test.txt 100% 1003 1.1MB/s 00:00 Fetching /home/freebsd/test2.txt to test2.txt test2.txt 100% 1003 1.1MB/s 00:00 # リモートホストのディレクトリ削除 sftp> rmdir testdir rmdir ok, `testdir' removed sftp> ls -l -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:21 freebsd.txt -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:22 test.txt -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:22 test2.txt # リモートホストのファイル削除 sftp> rm test2.txt Removing /home/freebsd/test2.txt sftp> ls -l -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:21 freebsd.txt -rw-r--r-- ? freebsd freebsd 1003 Dec 19 10:22 test.txt # ![command] で任意のコマンド実行 sftp> !cat /etc/passwd root:*:0:0:Charlie &:/root:/bin/sh toor:*:0:0:Bourne-again Superuser:/root: daemon:*:1:1:Owner of many system processes:/root:/usr/sbin/nologin operator:*:2:5:System &:/:/usr/sbin/nologin bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin ..... ..... # 終了 sftp> quit |
Sponsored Link |