ユーザー名に@記号を付けてLinuxコマンドラインftpを使用するにはどうすればよいですか? [閉まっている]
質問
ユーザー名の中央に @
記号が付いている場合、Linuxコマンドラインでこれを実行するにはどうすればよいですか?
ftp -u user:password@host/destination_folder/ sourcefile.txt
ユーザー名は info@domain.com
であり、ホストは domain.com
であると考えています。
注:これは無人アップロードであるため、ユーザー名とパスワードを入力することはできません。
解決
別の方法として、設定ファイルを作成したくない場合は、 ftp
:
curl
を使用して無人アップロードを行います。
curl -u user:password -T file ftp://server/dir/file
他のヒント
これを試してください:"%40"を使用してください" @"の代わりに
このような〜/ .netrc
ファイルでアカウントを定義してみてください:
machine host login info@domain.com password mypassword
詳細については、 man netrc
を確認してください。
単に ftp hostdomain.com
と入力すると、次のプロンプトで名前を入力するよう求められました(現在のユーザーと同じでない場合)。
FTPの設定方法に依存すると思います。つまり、同じユーザー名(指定されていない場合)を想定するか、または尋ねます。良いニュースは、解決策がなくても、次にこれに直面したとき、Just Work™あなたのために:D
より完全な答えは、ftp(少なくともcentos 6にインストールされたftpプログラム)では不可能です。
無人プロセスが必要なため、" pts"の答えは正常に機能します。
ftpではなくcurlを使用して無人アップロードを実行します。
curl -u user:password -T file ftp://server/dir/file
%40は機能していないようです。
[~]# ftp domain.com
ftp: connect: Connection refused
ftp> quit
[~]# ftp some_user%40domain.com@domain.com
ftp: some_user%40domain.com@domain.com: Name or service not known
ftp> quit
ftpプログラムを開いてドメインを使用し、求められたらユーザーを入力するだけです。通常、とにかくパスワードが必要なので、おそらくインタラクティブな性質は問題になりません。
[~]# ftp domain.com
Connected to domain.com (173.254.13.235).
220---------- Welcome to Pure-FTPd [privsep] [TLS] ----------
220-You are user number 2 of 1000 allowed.
220-Local time is now 02:47. Server port: 21.
220-This is a private system - No anonymous login
220-IPv6 connections are also welcome on this server.
220 You will be disconnected after 15 minutes of inactivity.
Name (domain.com:user): some_user@domain.com
331 User some_user@domain.com OK. Password required
Password:
230 OK. Current restricted directory is /
Remote system type is UNIX.
Using binary mode to transfer files.
curl -f -s --disable-epsv -u someone@somewhere.com:gr8p455w0rd -T / some / dir / filename ftp://somewher.com/ByramHealthcareCenters/byram06-2011.csv
-u
パラメータを見たことがない。しかし、" @"を使用したい場合、それを" \ @"と表記してはどうですか?
そのようにして、意図したとおりに解釈する必要があります。次のようなものを知っています
ftp -u user\@domain.tld@ftp.host.tld