Ubuntu 18.04
Sponsored Link

OpenSSH : SSH ファイル転送 (Ubuntuクライアント)2018/04/28

 
SSH を利用して、暗号化通信によるセキュアなファイル転送をすることができます。
以下は Ubuntu クライアントの例ですが、こちらに記載の通り、Windows 10 バージョン 1803 の場合は OpenSSH クライアントが標準搭載されているため、Windows のコマンドプロンプトからも下記と同様の操作で scp, sftp コマンドでのファイル転送が可能です。
[1] SCP (Secure Copy) によるファイルコピーの例です。
# 書式 ⇒ scp [オプション] コピー元 コピー先
# ローカルの [test.txt] を リモート [www.srv.world] 上の [ubuntu] ユーザーのホームディレクトリ直下へコピーする

ubuntu@dlp:~$
scp ./test.txt ubuntu@www.srv.world:~/

ubuntu@10.0.0.30's password:    
# 接続ユーザーのパスワード

test.txt                                                100%   10     0.0KB/s   00:00

# リモート [www.srv.world] 上の [/home/ubuntu/test.txt] を ローカルのカレントディレクトリにコピーする

ubuntu@dlp:~$
scp ubuntu@www.srv.world:/home/ubuntu/test.txt ./test.txt

ubuntu@10.0.0.30's password:
test.txt                                                100%   10     0.0KB/s   00:00
[2] SFTP (SSH File Transfer Protocol) によるファイル転送です。
SFTP サーバー機能は Ubuntu ではデフォルトで有効になっていますが、もし有効になっていない場合は [/etc/ssh/sshd_config] に [Subsystem sftp /usr/lib/openssh/sftp-server] の行を追加して sshd をリロードしてください。
# sftp [オプション] [ユーザー@ホスト名]

ubuntu@dlp:~$
sftp ubuntu@www.srv.world

ubuntu@www.srv.world's password:    
# ログインユーザーのパスワード

Connected to www.srv.world.
sftp>
# リモートのカレントディレクトリ表示

sftp>
pwd

Remote working directory: /home/ubuntu
# ローカルのカレントディレクトリ表示

sftp>
!pwd

/home/ubuntu
# リモートのカレントディレクトリのファイル一覧表示

sftp>
ls -l

drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:33 public_html
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 28 22:53 test.txt
# ローカルのカレントディレクトリのファイル一覧表示

sftp>
!ls -l

total 4
-rw-rw-r-- 1 ubuntu ubuntu 10 Jul 29 21:31 test.txt
# ディレクトリ移動

sftp>
cd public_html

sftp>
pwd

Remote working directory: /home/ubuntu/public_html
# ローカルのファイルをリモートにリネームアップロード

sftp>
put test.txt ubuntu.txt

Uploading test.txt to /home/ubuntu/ubuntu.txt
test.txt 100% 10 0.0KB/s 00:00
sftp>
ls -l

drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:33 public_html
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:39 ubuntu.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 28 22:53 test.txt
# ローカルの複数ファイルをリモートに一括アップロード

sftp>
put *.txt

Uploading test.txt to /home/ubuntu/test.txt
test.txt 100% 10 0.0KB/s 00:00
Uploading test2.txt to /home/ubuntu/test2.txt
test2.txt 100% 0 0.0KB/s 00:00
sftp>
ls -l

drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:33 public_html
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:39 ubuntu.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:45 test.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:46 test2.txt
# リモートのファイルをローカルにダウンロード

sftp>
get test.txt

Fetching /home/ubuntu/test.txt to test.txt
/home/ubuntu/test.txt 100% 10 0.0KB/s 00:00
# リモートの複数ファイルをローカルに一括ダウンロード

sftp>
get *.txt

Fetching /home/ubuntu/ubuntu.txt to ubuntu.txt
/home/ubuntu/ubuntu.txt 100% 10 0.0KB/s 00:00
Fetching /home/ubuntu/test.txt to test.txt
/home/ubuntu/test.txt 100% 10 0.0KB/s 00:00
Fetching /home/ubuntu/test2.txt to test2.txt
/home/ubuntu/test2.txt 100% 10 0.0KB/s 00:00
# リモートのカレントディレクトリにディレクトリ作成

sftp>
mkdir testdir

sftp>
ls -l

drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:33 public_html
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:39 ubuntu.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:45 test.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:46 test2.txt
drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:53 testdir
# リモートのカレントディレクトリ内のディレクトリ削除

sftp>
rmdir testdir

rmdir ok, `testdir' removed
sftp>
ls -l

drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:33 public_html
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:39 ubuntu.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:45 test.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:46 test2.txt
# リモートのファイル削除

sftp>
rm test2.txt

Removing /home/ubuntu/test2.txt
sftp>
ls -l

drwxrwxr-x    2 ubuntu     ubuntu            6 Apr 29 21:33 public_html
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:39 ubuntu.txt
-rw-rw-r--    1 ubuntu     ubuntu           10 Apr 29 21:45 test.txt
# ![command] で任意のコマンド実行

sftp>
!cat /etc/passwd

root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
...
...
ubuntu:x:1001:1001::/home/ubuntu:/bin/bash
# 終了

sftp>
quit

221 Goodbye.
関連コンテンツ