Appium+Python移动自动化【3】:paramiko解决ssh登陆报错
问题1:我的代码:import paramikossh = paramiko.SSHClient()# 允许连接不在know_hosts文件中的主机ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())# 连接服务器ssh.connect(hostname='127.0.0.1', port=4723, username=...
问题1:
我的代码:
import paramiko
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='127.0.0.1', port=4723, username='Administrator', password='***+158461')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('dir')
# 获取命令结果
result = stdout.read()
print(result)
# 关闭连接
ssh.close()
执行结果:
错误:paramiko.ssh_exception.NoValidConnectionsError: [Errno None] Unable to connect to port 4723 on 127.0.0.1
分析:
1、username和password没有问题,感觉是端口有错误。
2、windows10系统内置openssh客户端和openssh服务器,检查一下服务状态。
3、发现OpenSSH SSH Server为关闭状态—手动开启服务。
4、查看sshd的默认端口号是22。
路径:C:\ProgramData\ssh\sshd_config
5、查看端口号—>netstat -an
6、将代码中的端口号改成"22"。
再次执行脚本,依然报错,但错误变了,继续努力。。。
问题2:
错误:paramiko.ssh_exception.AuthenticationException: Authentication failed.
分析:没有权限,可能我真的把username写错了。。。。
改username为本地登录用户名,再次执行脚本,执行通过并执行了代码中的命令。
import paramiko
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='127.0.0.1', port=22, username='User', password='wch+158461')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('dir')
# 获取命令结果
result = stdout.read()
print(result)
# 关闭连接
ssh.close()
更多推荐


所有评论(0)