リモートの .ssh ディレクトリにアクセスできない場合にパスワードプロンプトが表示されないように ssh を設定する

リモートの .ssh ディレクトリにアクセスできない場合にパスワードプロンプトが表示されないように ssh を設定する

リモート サーバーへの 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そのために役に立つリソースです。

関連情報