Linux 使用pysftp设置到服务器的测试连接
我正在尝试建立到sftp服务器的测试连接。(如中所示)。我通过终端与服务器建立第一次连接,从服务器获得了密钥。这是完美的。但是,如果我运行python脚本:Linux 使用pysftp设置到服务器的测试连接,linux,python-3.x,pysftp,libssl,Linux,Python 3.x,Pysftp,Libssl,我正在尝试建立到sftp服务器的测试连接。(如中所示)。我通过终端与服务器建立第一次连接,从服务器获得了密钥。这是完美的。但是,如果我运行python脚本: import pysftp sftp = pysftp.Connection('test.rebex.net', username='demo', password='password') data = s.listdir() sftp.close() for i in data: print(i) 我收到以下错误消息:
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
>回溯(最后一次调用):文件“/home/pi/Documents/Python
>项目/ftp_connection.py”,第24行,在
>sftp=pysftp.Connection('test.rebex.net',username='demo',password='password')文件
>“/usr/local/lib/python3.4/dist-packages/pysftp-0.2.9-py3.4.egg/pysftp/_______.py”,
>第116行,in_uuuinit__
>self.\u cnopts=cnopts或cnopts()文件“/usr/local/lib/python3.4/dist packages/pysftp-0.2.9-py3.4.egg/pysftp/uuu init_uuu.py”,
>第54行,in_uuuinit__
>self.hostkeys.load(knownhosts)文件“/usr/local/lib/python3.4/dist packages/paramiko-2.1.2-py3.4.egg/paramiko/hostkeys.py”,
>第101行,已加载
>e=HostKeyEntry.from_line(line,lineno)文件“/usr/local/lib/python3.4/dist packages/paramiko-2.1.2-py3.4.egg/paramiko/hostkeys.py”,
>第335行,从_行输入
>key=ECDSAKey(data=decodebytes(key),validate_point=False)文件“/usr/local/lib/python3.4/dist packages/paramiko-2.1.2-py3.4.egg/paramiko/ECDSAKey.py”,
>第138行,in_uuuinit__
>self.verifying_key=numbers.public_key(backend=default_backend())文件
>“/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/________.py”,
>第74行,默认为_后端
>_default_backend=multi-backend(_available_backends())文件/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/uuu init\uuu.py“,
>第31行,输入可用的后端
>“cryptography.backends”文件“/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/__;init__u__;.py”,
>第30行,在
>对于pkg_resources.iter_入口点(文件“/usr/lib/python3/dist packages/pkg_resources.py”,第2190行,加载中的ep
>[''名称]/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/openssl/u init_u.py“,
>第7行,在
>从cryptography.hazmat.backends.openssl.backend导入后端文件
>“/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/backends/openssl/backend.py”,中第49行
>来自cryptography.hazmat.bindings.openssl导入绑定文件“/usr/local/lib/python3.4/dist-packages/cryptography-1.8.1-py3.4-linux-armv7l.egg/cryptography/hazmat/bindings/openssl/binding.py”,第12行,in
>来自cryptography.hazmat.bindings.\u openssl导入ffi,lib ImportError:libssl.so.1.1:无法打开共享对象文件:无此类文件
>文件或目录
我检查了/etc/ld.so.conf.d/libc.conf文件以查看搜索路径,即/usr/local/lib。在上述路径中,我可以找到libssl.so.1.1文件。有没有人对如何解释错误信息有什么建议,或者知道我哪里出错了?非常感谢。别让我打扰你。解决方案很简单: 结果我不得不跑:
sudo ldconfig
正如先前在中所建议的那样