搭建CMDB有四种方式,其中一种就是SSH(安全外壳协议)类的方式来实现,而这种方式是基于paramiko模块的。

本次实验是通过window向ubuntu远程的发送请求,尝试登陆Ubuntu。

我们可以发现Ubuntu的IP地址就是192.168.226.128
当我们运行代码,尝试实现远程登陆时,
import paramiko
# 创建SSH对象
ssh = paramiko.SSHClient()
# 允许连接不在know_hosts文件中的主机
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
# 连接服务器
ssh.connect(hostname='192.168.226.128',port=22, username='ubuntu1', password='root123456')
# 执行命令
stdin, stdout, stderr = ssh.exec_command('ifconfig')
# 获取命令结果
result = stdout.read()
ssh.close()
print(result)
然后打开虚拟机开了一个ubuntu,执行时,却遇到了提示:paramiko.ssh_exception.NoValidConnectionsError的错误。
这说明连接服务器(即Ubuntu系统)是可能存在着错误。我们排除下错误,不是上面的四个参数错误,那么还有一个可能就是Ubuntu系统的SSH服务器没有启动。
我们可以通过netstat -ntl,查看22端口是否开通

此时发现开通的端口仅有53和631,并没有22号端口,那么出现错误的问题应该就是在这儿了。
接下来我们需要手动启动22号端口。
-
步骤1:sudo ufw disable 关闭防火墙
-
步骤2:sudo apt install openssh-server openssh-client安装openSSH的服务器和客户端
-
步骤3:netstat -ntl 查看启动的端口号

这时候才开启了22号端口,重新回去执行代码吧。

1499



被折叠的 条评论
为什么被折叠?



