sftp サーバーへのテスト接続を確立しようとしています。( Python Pysftp Errorで示されているように)。ターミナルを介してサーバーへの最初の接続を確立することにより、サーバーからキーを取得しました。それは完璧に機能しました。ただし、python スクリプトを実行すると、次のようになります。
import pysftp
sftp = pysftp.Connection('test.rebex.net', username='demo', password='password')
data = s.listdir()
sftp.close()
for i in data:
print(i)
次のエラー メッセージが表示されます。
> Traceback (most recent call last): File "/home/pi/Documents/Python
> Projects/ftp_connection.py", line 24, in <module>
> sftp = pysftp.Connection('test.rebex.net', username='demo', password='password') File
> "/usr/local/lib/python3.4/dist-packages/pysftp-0.2.9-py3.4.egg/pysftp/__init__.py",
> line 116, in __init__
> self._cnopts = cnopts or CnOpts() File "/usr/local/lib/python3.4/dist-packages/pysftp-0.2.9-py3.4.egg/pysftp/__init__.py",
> line 54, in __init__
> self.hostkeys.load(knownhosts) File "/usr/local/lib/python3.4/dist-packages/paramiko-2.1.2-py3.4.egg/paramiko/hostkeys.py",
> line 101, in load
> e = HostKeyEntry.from_line(line, lineno) File "/usr/local/lib/python3.4/dist-packages/paramiko-2.1.2-py3.4.egg/paramiko/hostkeys.py",
> line 335, in from_line
> key = ECDSAKey(data=decodebytes(key), validate_point=False) File "/usr/local/lib/python3.4/dist-packages/paramiko-2.1.2-py3.4.egg/paramiko/ecdsakey.py",
> line 138, in __init__
> self.verifying_key = numbers.public_key(backend=default_backend()) File
> "/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/__init__.py",
> line 74, in default_backend
> _default_backend = MultiBackend(_available_backends()) File "/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/__init__.py",
> line 31, in _available_backends
> "cryptography.backends" File "/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/__init__.py",
> line 30, in <listcomp>
> for ep in pkg_resources.iter_entry_points( File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2190, in load
> ['__name__']) File "/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/openssl/__init__.py",
> line 7, in <module>
> from cryptography.hazmat.backends.openssl.backend import backend File
> "/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/openssl/backend.py", line 49, in <module>
> from cryptography.hazmat.bindings.openssl import binding File "/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/bindings/openssl/binding.py", line 12, in <module>
> from cryptography.hazmat.bindings._openssl import ffi, lib ImportError: libssl.so.1.1: cannot open shared object file: No such
> file or directory
/etc/ld.so.conf.d/libc.conf ファイルをチェックして、/usr/local/lib である検索パスを確認しました。上記のパスで libssl.so.1.1 ファイルを見つけることができます。エラーメッセージを解釈する方法について誰か提案がありますか、またはどこが間違っているか知っていますか? どうもありがとう。