web-dev-qa-db-ja.com

LinuxコマンドラインでFTPSサーバーに接続する簡単なコマンド

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]/
17
user240137

これがlftpの2013バージョンで利用できなかったかどうかはわかりませんが、今は簡単に実行できます。

lftp -u YOUR_USER Host_ADDRESS

たとえば、ユーザーtestを使用してホスト192.168.1.50に接続するには、次のように入力するだけです。

lftp -u test 192.168.1.50
10
McSonk

奇妙なことに、両方のタイプの引用符を含む長いコマンドラインを意味する場合は、それを避けてください。スクリプトを使用してブックマークを保存します。おそらくlftpより優れたftpクライアントはありません。

  1. lftpスクリプトをファイルに保存する
  2. 引数なしでlftpを実行する
  3. スクリプトを入手する
  4. ブックマークを保存します。
  5. rheスクリプトを削除する(平文パスワードを取り除くため)

今後ブックマークを使用してください。ブックマークの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の永続的な変更が作成されません。

6
RyanS

一部のサーバーでは失敗します。これは、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'
3
Abu-Sadek

上記の設定で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

  1. その後、サーバーに接続します:

    lftpユーザー名@ホスト名

そして、今ではそれですべて大丈夫です!

2
quan.nd