現在、古い死にかけているサーバーで処理されているホストキー認証を使用してSSHをサポートできるようにサーバーをセットアップしています。現時点では、SSHに正常に接続し、通常のようにターミナルで対話できます。ただし、コマンドを含めるか、RSyncコマンドにSSHを挿入すると、「ホストキーの検証に失敗しました」というエラーが表示されます。
したがって、このコマンドは機能します:
ssh -o StrictHostKeyChecking=no -i /cygdrive/C/keys/id_rsa user@192.168.0.2
以下はそうではありません:
ssh -o StrictHostKeyChecking=no -T -i /cygdrive/C/keys/id_rsa user@192.168.0.2 ssh 192.168.0.2 mkdir -p /mnt/storage/new_folder
ただし、どちらも古いサーバーを指すときに機能するため、コマンド自体は問題ないはずです。さらに、コマンドを変更しないように管理できれば、下位互換性を保つことができます。
新しいサーバー(古いサーバーを模倣するように設定されている)のsshd_config設定は、それらが役立つ場合に備えて以下に含まれていますが、ここでの項目はコメントアウトされていないもののみです。
HostbasedAuthentication機能なし
RhostsRSAAuthentication(RhostsRSA認証の許可)なし
PermitEmptyPasswordsなし
ChallengeResponseAuthenticationの無
UsePAMはい
X11Forwardingはい
PrintMotdいいえ
PrintLastLogはい
TCPKEEPALIVEはい
AcceptEnv LANG LC_ *
サブシステムSFTPの/ usr / libに/のopenssh / SFTPサーバ
PubkeyAuthenticationはい
RSAAuthenticationはい
LoginGraceTime 2メートル
のPermitRootLoginはい
はいStrictModesを
新しいサーバーはUbuntu 17.10です(次のサーバーが間もなくリリースされるとLTSに更新されます)。古いサーバーはDebian 6.0.6です。
編集:言及するのを忘れて、このエラーは私が '-e'でRSyncを使用するときにも発生します。ただし、RSyncコマンドusername@192.168.0.2:/mnt/storage/new_folder
で、リモートパスパラメーターを使用して問題を解決できることがわかりました。「username @」を削除すると、エラーが再度表示されます。繰り返しますが、失敗したバージョンは古いサーバーで正常に動作し、新しいサーバーでのみ失敗します。また、これはレガシーコードであるため、古いコマンドをそのまま使用できる場合、更新をプッシュする時間を大幅に節約できます。
mkdir
そこで実行する」ようです。mkdir
ホストBで実行するだけではどうですか?