他の回答で説明したように、SSH クライアントが OpenSSH サーバーに接続すると、OpenSSH サーバーは通常、ユーザーのログイン シェルを使用して、クライアントに代わってシェル セッションを開始します。
<オール>scp
などのユーティリティ 、 rsync
、および git
トランスポートに ssh を使用するものは、リモート システムで実行するコマンドを要求するため、#2 に分類されます。リモート ユーザーのシェル起動ファイルに、シェルを終了させる何かがある場合、問題が発生します。
ただし、SFTP は特殊なケースです。 OpenSSH サーバーは 可能 外部コマンドを起動せずに SFTP をサポートするように構成する必要があります。 もし その場合は、sftp を使用してサーバーに接続し、.bashrc
を削除、名前変更、または変更できます。 問題の原因となっているファイル。
サーバーが sftp をサポートするようにどのように構成されているかによって異なります。外部プログラム (sftp-server
という名前) を起動することで、sftp セッションを提供できます。 )。この場合、scp
のようなプログラムと同じ問題が発生します。 .または、サーバーは「internal-sftp」と呼ばれるものによって sftp セッションを提供できます。これは、シェルを呼び出す必要はありません。特定の SSH サーバーがどのように構成されているかによって異なります。