コマンドラインベース(CLI)のFTPクライアントのLFTPでsftpで接続するための手順を見ていきます。
最初にsftpについて触れておきます。
sftpは、SSH(Secure Shell)プロトコル上で動作するファイル転送プロトコルになります。
SSHの暗号化機能を利用するため、安全にファイルを転送できます。
今回は例として、下記の構成でLFTPを試します。
リモート(FTPサーバ)
マシン : Raspberry Pi 5 8G
OS : Raspberry Pi OS(64-bit)
ホスト : raspberrypi.local
※ホストの箇所にはIPアドレスでも構いません
ユーザ : pi
パスワード : raspberry
ローカル(FTPクライアント)
aptを使いたいのでDebian系Linuxが望ましい
※クロームブックのクロスティーニ等
秘密鍵のパス : ~/.ssh/pikey
※秘密鍵に関してはクロームブックで公開鍵認証でラズベリーパイにリモートアクセスするを参考にして作成しておいてください。
※クロスティーニでlftpを実行する場合は、クロスティーニのファイルシステム内に秘密鍵を配置しておきます。
lftpでsftpでリモートと接続する時は
$ lftp sftp://ユーザ@ホスト
になります。
今回の例であれば、
$ lftp sftp://pi@raspberrypi.local
になります。
※パスワードの入力に関しては省略します。
接続後の話題になりますが、公開鍵認証を使用している場合は、リモート側用のコマンド(cd)を実行すると
cd `aaa' [pi@raspberrypi.local: Permission denied (publickey).]
権限がないというエラーになります。
各コマンドを使用できるようにするためには、鍵認証の設定を追加します。
> exit
でリモートとの接続を終了した後、ローカル側で下記の手続きを行います。
$ micro ~/.ssh/config
Host rpi5 HostName raspberrypi.local User pi IdentityFile ~/.ssh/pikey
※Hostは任意の文字列になります。
ホスト(HostName)に紐づいたユーザと秘密鍵を指定して、configファイルを保存します。
Hostで指定した文字列を使用して、
$ lftp sftp://rpi5
でリモートと接続を行います。
パスワード入力の要求がなく、リモートと接続できることを確認しましょう。