FileZillaで簡単に接続できるFTPおよびFTPSサーバーがあります。 Linux CLIメソッドを探しています。 lftp
がそうだと思っていましたが、奇妙なようです。別の方法はありますか?
これが、Googleでlftp
を使用してFTPSに接続する方法です。しかし、もっと簡単な方法があるといいのですが。
lftp -c 'open -e "set ftps:initial-prot ""; \
set ftp:ssl-force true; \
set ftp:ssl-protect-data true; \
put test.txt; " \
-u "USERNAME","PASSWORD" \
ftps://HOSTNAME:990 '
上記で取得したコードは失敗するように見えます-私はそれが好きではないため、まだ試していません。\
行末にある必要があります。
もっとシンプルなワンライナーを探しています。 FileZillaクライアントから接続する方法は次のとおりです。
ftps://username:[email protected]/
また、これは機能します:
ftps://username:[email protected]/
これがlftpの2013バージョンで利用できなかったかどうかはわかりませんが、今は簡単に実行できます。
lftp -u YOUR_USER Host_ADDRESS
たとえば、ユーザーtest
を使用してホスト192.168.1.50
に接続するには、次のように入力するだけです。
lftp -u test 192.168.1.50
奇妙なことに、両方のタイプの引用符を含む長いコマンドラインを意味する場合は、それを避けてください。スクリプトを使用してブックマークを保存します。おそらくlftpより優れたftpクライアントはありません。
今後ブックマークを使用してください。ブックマークのsslオプションが保存されているかどうか、またはグローバルlftp構成ファイルを介してそれらの設定を永続化する必要があるかどうかを把握する必要があります。
サンプルスクリプト。
$ cat lftp.ssl.commands
user moo foopass
set ftps:initial-prot "";
set ftp:ssl-force true;
set ftp:ssl-protect-data true;
open ftps://HOSTNAME:990
出力例。
$ lftp
lftp :~> source lftp.ssl.commands
lftp HOSTNAME:~> dir
`ls' at 0 [Connecting...]
または、bashスクリプトでこれを行うことができます。
#!/bin/bash
lftp <<SCRIPT
set ftps:initial-prot ""
set ftp:ssl-force true
set ftp:ssl-protect-data true
open ftps://<hostname>:990
user <user> <password>
lcd /tmp
cd <ftp_folder_hierarchy>
put foo.txt
exit
SCRIPT
これにより、/ etc/lftp.conf、〜/ .lftprc、または〜/ .lftp/rcにlftpの永続的な変更が作成されません。
一部のサーバーでは失敗します。これは、ssl設定がその内部にないopenコマンドの前に渡される必要があるためです。作業例:
lftp -c 'set ftp:ssl-allow true ; set ssl:verify-certificate no; open -u USERNAME,PASSWORD -e "cd /; mput LOCAL/PATH/TO/FILE/FILENAME.EXT; quit" Host'
上記の設定でproftpdサーバーに接続しようとしましたが、ログインできません。これを試すと、問題ありません。
1。スクリプト構成ファイルを作成する
vi .lftprc
以下の内容で:
ftp:ssl-auth TLSを設定します
set ftp:ssl-force true
set ftp:ssl-protect-list yes
set ftp:ssl-protect-data yes
set ftp:ssl-protect-fxp yes
set ssl:verify-certificate no
lftpユーザー名@ホスト名
そして、今ではそれですべて大丈夫です!