リモート サーバーへの sftp 接続を介してプログラムでファイルをアップロードおよびダウンロードする必要があります。ユーザー名には、パスワードを使用して特定のリモート ディレクトリにアクセスする権限がありますが、.ssh ディレクトリにはアクセスできません。実際、リモート サーバーに ssh で接続することはできません。次の応答が返されます。
This service allows sftp connections only.
Connection to www.example.com closed.
しかし、この質問の目的のために、単に私の秘密鍵をリモートの .ssh ディレクトリにコピーする権限がないとしましょう。そこで私の質問は次のようになります。
ローカルの設定方法設定ファイルパスワード認証を求められないようにするには、ファイルを保存しますか?
明らかに、提案されているように、新しく生成されたキーペアをリモートディレクトリにコピーすることはできません。ここ、上記の理由によります。しかし、SSH 接続のためにローカル マシンのどこかに秘密鍵が必要ですよね? そのファイルのディレクトリを IdentityFile オプションに渡すだけではだめでしょうか?
答え1
リモート サーバーの管理者に、公開キー認証を有効にするよう依頼してください。公開キー認証はサーバー側とクライアント側の両方でサポートされる必要があるため、クライアント側からのみ強制することはできません。
スクリプトによるアクセスの場合sshpassは可能な解決策です。これにより、キーベースの認証を使用できない場合に、パスワードをファイルに保存してログインを自動化できます。
https://www.redhat.com/sysadmin/ssh-automation-sshpassそのために役に立つリソースです。