python - python paramiko没有连接到主机名作为参数
问题描述
我有一个文件,其中包含我连接到的路由器列表。出于某种原因,当我读取文件并遍历路由器列表并尝试使用 paramiko 连接时,它不起作用。它失败并出现以下错误:
socket.gaierror: [Error -2] Name or service unknown
但是,如果我采用其中一个主机名并将其直接放在连接参数中,它就没有问题。
循环访问 hosts.txt 文件时不起作用
with open("hosts.txt", "r") as f:
for line in f:
remote_conn.connect(line, username=username, password=password, look_for_keys=False, allow_agent=False)
如果我这样做就可以了
remote_conn.connect("test-r-1", username=username, password=password, look_for_keys=False, allow_agent=False)
hosts.txt file
test-r-1
test-r-2
解决方案
您收到此错误是因为您提供了无效的主机名。您应该在文件中提供路由器的 IP。
推荐阅读
- java - [Ljava.lang.String; 尝试在 Java 中拆分数组列表时出错
- spring - Spring接受来自表单的数据得到404错误
- node.js - 使用 nodeJs 中的 AWS lambda 函数提取 S3 Bucket 中的 zip 文件“错误:CEN 标头无效(签名错误)”
- javascript - 开玩笑 - 将模拟实例作为类构造函数参数传递
- google-apps-script - 如何在 Google Apps 脚本中使用单元格值作为工作表名称
- api - 谁应该创建对象
- javascript - Javascript 搜索和过滤表
- docker - 无法运行 celery-prometheus-exporter
- php - 如何在 0h 0m 0s 获得日期?
- php - 没有扩展能够加载“vich_uploader”的配置