apt-get upgrade
を実行したところ、/ var/log/apt/history.logによると、opensslがバージョン1.0.1e-2 + rvt + deb7u7に更新されました。現在、1つのSSHセッションを開いたままにしていますが、別のSSHセッションを開くことができません。 SSHを再起動すると、OpenSSL version mismatch. Built against 1000105f, you have 10001080
が返されました。運が悪かったのでapt-get remove openssl && apt-get install openssl
を試しました。 RaspberryPiでdebianを実行しています。
更新: スーパーユーザー に移動
other SSLパッケージのバージョン番号がopensslパッケージと同じであることを確認してください。 libssl1.0.0やlibssl-devのようなものは、debian-testingのような非標準のリポジトリを使用した場合、より高いバージョンまたはより低いバージョンを持つ可能性があります。
したがって、opensslバージョンがたとえば1.0.1e-2 + deb7u11の場合、これを修正するのは簡単です。
apt-get install libssl1.0.0=1.0.1e-2+deb7u11
また、インストールされている他のパッケージが独自のopensslライブラリを持ち込んでおらず、環境に追加されていないことを確認してください。
私が見つけたそのような犯人の1つは、Microsemiの「MaxViewStorageManager」です。 (はい、開発者を恥じるためにその名前に言及します。)それはそれ自体を次のように追加します:
sshはrootとしては正常に機能しましたが(これらの追加エントリは追加されませんでした)、通常のユーザーとしては失敗しました。
OpenSSLはメジャーバージョン(1.x ..)でABI互換性を約束しているため、ライブラリのバージョンが増えてもアプリケーションは文句を言うべきではありません。 OPでは、ビルドバージョンはライブラリバージョンよりも少ないように見え、問題はないはずです。
これはOpenSSHのバグのようです。残念ながら、解決策はパッケージが同時に更新されることを確認することですが、これは常に可能であるとは限りません。
which ssh
で、自分でコンパイルしたバージョンのOpenSSHを使用していることがわかったので、以下の回答は非推奨にします。
# which ssh
/usr/local/bin/ssh
ローカルのsshを削除した後、openssh-server
とopenssh-client
が正常にインストールされました。
私はこれに遭遇し、修正に使用したのと同様の手法を使用しました https://askubuntu.com/a/854145/348754 。
次のエラーが発生しました。
Creating SSH2 ECDSA key; this may take some time ...OpenSSL version mismatch. Built against 1000106f, you have 1000207f
dpkg: error processing package openssh-server (--configure):
subprocess installed post-installation script returned error exit status 255
/var/lib/dpkg/info/openssh-server.postinstを編集して、次の行にコメントする必要があります。
#create_key "Creating SSH2 ECDSA key; this may take some time ..." \
# "$hostkeys" /etc/ssh/ssh_Host_ecdsa_key -t ecdsa
#create_key "Creating SSH2 ED25519 key; this may take some time ..." \
# "$hostkeys" /etc/ssh/ssh_Host_ed25519_key -t ed25519
Ubuntuで次のエラーが発生しました。
OpenSSL version mismatch. Built against 100020bf, you have 1000106f
これが問題を解決するために私がしたことです。
Sshがどこにあるかを確認します
\#which ssh
/usr/local/bin/ssh
現在のsshパッケージを削除します。
Sudo apt-get remove openssh-server openssh-client
/ usr/local/bin/sshの下にあるsshファイルを削除します
次のようにsshパッケージを再インストールします。
Sudo apt-get install openssh-server openssh-client
現在のセッションからログアウトして、再度ログインします。 SSHコマンドが機能し、/ usr/bin/sshの下にあります。
\#which ssh
/usr/bin/ssh