FTPログインを繰り返し入力する必要がないようにスクリプトを作成する方法はありますか?

FTPログインを繰り返し入力する必要がないようにスクリプトを作成する方法はありますか?

私は最近FTP接続を介してリモートシステムで広く作業してきましたが、セッションが短すぎるため、ローカルコンピュータで作業を完了したときに頻繁に再ログインする必要があるため、カスタムコマンド/シェルスクリプトFTPサーバーにログインするには1つの単語が必要ですが、問題はこれをどのように行うのでしょうか。

例えば

~$ ftp domainname.com
 ...
 Name (domainname.com): MyName
 ...
 Password: xxxx
 ...
 ftp>

ベストアンサー1

通常、ftpコマンドラインクライアントは~/.netrcリモートシステムの資格情報を構成する構成ファイルをサポートします。たとえば、次のようになります。

machine legacy.system.example.org
login juser
password keins

これにより、ftp legacy.system.example.orgこの情報を再入力する必要がなくなります。

より自動化が必要な場合は、ftpパイプされたコマンドを使用してスクリプトを作成できます。たとえば、次のようになります。

$ cat pushit.sh
# complex logic to set
# EXAMPLE_FILE=
ftp <<EOF
prompt
mput $EXAMPLE_FILE
quit
EOF

もちろん、システムがそれをサポートしていない場合は、sshおそらくFTPもサポートしません。しかし、試してみることはできます(たとえば、次のように)。FTP-SSL)接続を保護する必要がある場合。

リモートFTP

一般的なコマンドの1つに代わるものは、次のものを使用することftpです。lftp、自動ログイン、コマンド実行など、さまざまな機能を提供するためです。

例:

$ lftp -e 'source ~/login.lftp'
$ cat login.lftp
open sftp://juser:[email protected]
cd /path/to/favorite/dir

この例ではSFTP標準サポートされていないサーバーOpenSSH SFTPクライアント

このオプションは、-elftpに起動時にコマンドを実行し、対話型を維持するように指示します。

これらの lftp スクリプトは他のスクリプトを取得することも、サーバーから自動的に切断することもできます。

対照的に、with-cまたは-flftp は、引数で指定されたコマンドを実行するか、指定されたファイルから読み取った直後に終了します。

おすすめ記事