Rocky Linux 8
Sponsored Link

OpenSSH : SSH ファイル転送 (Rocky Linux)2021/07/19

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

[rocky@dlp ~]$
scp ./test.txt rocky@node01.srv.world:~/

rocky@node01.srv.world's password:  
# 接続ユーザーのパスワード

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

# リモートホスト [node01.srv.world] 上の [/home/rocky/test.txt] を ローカルホストのカレントディレクトリにコピー

[rocky@dlp ~]$
scp rocky@node01.srv.world:/home/rocky/test.txt ./test.txt

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

[redhat@dlp ~]$
sftp rocky@node01.srv.world

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

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

sftp>
pwd

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

sftp>
!pwd

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

sftp>
ls -l

drwxrwxr-x    2 rocky     rocky            7 Jul 16 21:33 public_html
-rw-rw-r--    1 rocky     rocky           10 Jul 16 22:53 test.txt
# ローカルホストのカレントディレクトリのファイル一覧表示

sftp>
!ls -l

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

sftp>
cd public_html

sftp>
pwd

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

sftp>
put test.txt redhat.txt

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

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

sftp>
put *.txt

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

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

sftp>
get test.txt

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

sftp>
get *.txt

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

sftp>
mkdir testdir

sftp>
ls -l

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

sftp>
rmdir testdir

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

drwxrwxr-x    2 rocky     rocky            6 Jul 16 21:33 public_html
-rw-rw-r--    1 rocky     rocky           10 Jul 16 21:39 redhat.txt
-rw-rw-r--    1 rocky     rocky           10 Jul 16 21:45 test.txt
-rw-rw-r--    1 rocky     rocky           10 Jul 16 21:46 test2.txt
# リモートホストのファイル削除

sftp>
rm test2.txt

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

drwxrwxr-x    2 rocky     rocky            6 Jul 16 21:33 public_html
-rw-rw-r--    1 rocky     rocky           10 Jul 16 21:39 redhat.txt
-rw-rw-r--    1 rocky     rocky           10 Jul 16 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
...
...
redhat:x:1001:1001::/home/redhat:/bin/bash
# 終了

sftp>
quit

221 Goodbye.
関連コンテンツ