Simple File Transfer Protocol(SFTP)は、インターネットを介して2つのデバイス間でファイルを転送するために使用されるプロトコルです。ファイル転送プロトコル(FTP)とセキュアシェル(SSH)で実行されます。
このプロトコルはファイルを転送しますが、パスワードスニッフィング、man-in-the-middle攻撃、および機密データの漏洩からも保護します。また、暗号化および暗号化ハッシュ関数を使用して、データの整合性を維持します。また、アクセスを許可する前に、クライアントとサーバーの両方を認証します。これにより、ファイルを安全に転送できます。
ここLinuxAPTでは、この非常に便利なファイル転送プロトコルを使用して、ローカルマシンとリモートマシン間でファイルを簡単に交換する方法を検討します。
ここでは、ローカルマシンとしてLinux Mint Cinamon 20.02を使用し、リモートマシンとしてUbuntu20.04LTSを使用します。
最初の部分では、リモートマシンからローカルマシンにファイルを転送する方法を説明します。他の部分では、ローカルマシンからリモートマシンにファイルを転送する方法を説明します。
Linux Mint 20でProFTPDサーバーをセットアップする方法については、https://linuxapt.com/blog/1032-install-proftpd-on-linux-mint-20
にアクセスしてください。
a。リモートマシンからローカルマシンにファイルを転送する手順
1.リモートマシンへのSSH
まず、リモートマシンへのSSH接続を確立します。これを行うには、まず、次のコマンドを使用してスーパーユーザーになります。
$ sudo -i
スーパーユーザーになったら、通信するリモートマシン(192.168.10.23)にSSHで接続してファイルを取得します。
$ ssh [email protected]
2.転送するファイルを見つけます
次に、コピーするファイルを見つけます。このチュートリアルでは、新しいファイルを作成してローカルマシンに転送します。
そのためには、以下のコマンドを実行して/etcディレクトリに移動します。
$ cd /etc
touchコマンドを使用して、「transfer.txt」という名前の新しいファイルを作成します。
$ touch transfer.txt
3.リモートマシンとのSFTP接続を確立します
次に、sftpを使用してリモートマシンに接続します:
$ sftp [email protected]
sftpが次のように記述されている場合:
sftp> pwd
Remote working directory: /home
これは、sftpモードになっていることを意味します。これで、ローカルマシンとリモートマシンがこのプロトコルを使用してファイルを交換できるようになりました。
4.sftpが相互作用するディレクトリを確認します
ファイルの転送に進む前に、sftpが相互作用するディレクトリを理解するために少しナビゲートしましょう。以下のコマンドを実行して、現在の作業ディレクトリを確認します。
$ pwd
ローカルマシンの現在の作業ディレクトリを確認するには、次を使用します。
lpwd
対話するディレクトリを変更することもできます。このガイドの第2部に含まれています。
5.ファイルを転送します
transfer.txtファイルを作成した/etcディレクトリに移動します:
$ cd /etc
リモートマシンからローカルマシンにファイルを送信するには、getコマンドに続けてファイル名を使用します:
$ get transfer.txt
Fetching /etc/transfer.txt to transfer.txt
次のコマンドを使用して、ローカルシステムのルートディレクトリに移動します。
$ cd ~
lsを使用して、ディレクトリ内のすべてのファイルを表示します。
$ ls
これで、transfer.txtファイルがローカルマシンにあることがわかります。
sftpセッションを閉じた後、ファイルをルートディレクトリからマシン上の他のフォルダに転送できます。
b。ローカルマシンからリモートマシンにファイルを転送する
ローカルマシンの次のディレクトリパスに別のファイルtest.txtがあります:
$ /home/linuxAPT/Downloads/folder
ここから、リモートマシンに転送します。
1. SFTPを使用してリモートマシンに接続します:
$ sftp [email protected]
2.sftpが対話するローカルディレクトリを変更します
ローカルの現在の作業ディレクトリは次のとおりです。
$ lpwd
Local working directory: /root
前に述べたように、sftpが相互作用するローカルディレクトリを変更できます。これを行うには、lcdコマンドを使用します:
$ lcd /home/linuxAPT/Downloads/folder
これ以前は、sftpはローカルマシンのルートディレクトリと対話していました。これで、/ home / linuxAPT / Downloads/folderディレクトリと対話します。次のコマンドで確認できます:
$ lpwd
working directory: /home/linuxAPT/Downloads/folder
4.ファイルを転送します
次に、putコマンドを使用して、ファイルをローカルマシンからリモートマシンに転送します。
$ put test.txt
uploading test.txt to /home
次に、lsコマンドを実行して、ファイルがリモートマシンの/homeディレクトリに正常に転送されたかどうかを確認します。
$ ls
これで、転送したファイルがリモートマシンにあります。
これで、簡単なさようならコマンドでセッションを終了できます:
$ bye