我有一个使用Paramiko库编写的Python自动化SFTP程序。如果我建立了连接,我可以展示传输所使用的密码和密钥交换算法。然而,我不确定这些算法和密码是否是“可用”的算法和密码。
示例:
示例:
>>> import paramiko
>>> ssh = paramiko.SSHClient()
>>> ssh.load_system_host_keys()
>>> ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
>>> ssh.connect("myhost.example.com", 22, username="xyzzy")
>>> t = ssh.get_transport()
>>> so = t.get_security_options()
>>> so.kex
('diffie-hellman-group14-sha1', 'diffie-hellman-group-exchange-sha1', 'diffie-hellman-group1-sha1')
>>> so.ciphers
('aes128-ctr', 'aes256-ctr', 'aes128-cbc', 'blowfish-cbc', 'aes256-cbc', '3des-cbc', 'arcfour128', 'arcfour256')
这是否与“可用的”内容相同?如果不是,有没有办法以编程方式确定可用性?