SFTPを介してサーバーにいくつかのファイルをアップロードするスクリプトを作成しようとしています。対話型 lftp セッションを開き、そこにユーザー名とパスワードを提供することで、この操作を手動で実行できます。私の考えでは、台本の場合
- (明らかな理由で)スクリプトに資格情報をハードコードしないでください。
- コマンドラインで言及しないでください。 (私は.bash_historyに含めたいのですが、資格情報は必要ありません。)
lftp
バウチャー.netrc
などを読んでください。
私はこれを動作させることができないようです。現在の回避策は、資格情報を解析し、.netrc
それをlftpスクリプトに追加して削除するラッパースクリプトです。これは手動で実行する手順をシミュレートしますが、既存の機能を再実装しても効果が悪いようです。これが機能している間、問題は残ります。
lftpはSFTP接続のために.netrcを読むことができますか?
もしそうなら、税関ポートが設定の一部である場合、特別な構文要件はありますか?に接続する必要があります。sftp://username:[email protected]:12322
ベストアンサー1
ssh
最善の方法は、手順3のようにキーペアを使用してサーバーにアクセスすることです。
キーペアを作成します(まだ存在しない場合)。
ssh-keygen -t rsa -C "" -f ~/.ssh/id_rsa
公開鍵をサーバーにコピーします。
ssh-copy-id [email protected] -p 12322
サーバーへの接続:
lftp sftp://[email protected]:12322
非標準パスをキーとして使用するには!ssh-agent
またはその前にキーを追加する必要があります.ssh/config
。