Vty password is not set问题解决

本文分享了在使用Quagga路由软件时,因误操作导致Vty密码丢失的解决经验。通过直接编辑配置文件zebra.conf并重启系统,成功恢复了telnet连接。提醒读者在执行未知命令前要谨慎,避免类似尴尬情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vty password is not set 问题解决

在熟悉quagga基本命令的过程中,由于运行了

$ service password-encryption

这条命令是将设定的密码以密文的形式显示。由于好奇心的驱使,运行了

$ no service password-encryption

运行之前,我以为这条命令是使得加密的密码以明文形式显示出来,但是运行后,发现是把密码删除了,密码变为空,去网上查到的说法是这条指令使用的是MD5的加密,加密后,即使用no service password-encryption命令,也不会显示以前加密过的密码,因为这个加密过程是不可逆的。
但是,由于当时并没有意识到是把密码清空了,就正常退出了,结果再想进行连接的时候,即执行完以下指令后

$ telnet localhost 2601
  2601 是services中记录的zebra的端口号

提示以下信息:

Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is'^]'.
Vty password is not set.
Connection closed by foreign host.

查找官方文档,其中确实给出了说明,在进入zebra时,必须设置了密码,否则vty拒绝接受连接。
在这里插入图片描述
那遇到这种已经拒绝连接,没有办法再进入configure terminal进行密码修改的情况怎么办呢?
直接修改zebra配置文件,配置文件位于/etc/quagga路径下,这个地方需要root权限,可通过以下命令进入root用户。

$ sudo passwd root
  设置root用户密码
$ su root
  输入密码进入即可
$ vim zebra.conf

可以看到文件内容如下(修改后):
在这里插入图片描述
设置其中的password内容即可。
然后重启一下系统,再执行telnet命令便可以进入quagga了。

emmmm,以后还是要先确定一下命令到底是做什么的再运行才好,否则后果很尴尬…

``` import paramiko,re,time from datetime import datetime from config01 import userlist,x_xml from threading import Thread import threading class SW(): def __init__(self): self.ssh=paramiko.SSHClient() self.ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy()) self.ssh.connect(hostname="192.168.100.1",port=22,username="python", password="Huawei@123",allow_agent=False,look_for_keys=False) self.vty=self.ssh.invoke_shell() print("ssh 连接成功") self.send_com("screen-length 0 temporary") def send_com(self,com): self.vty.send(com+"\n") time.sleep(2) return self.vty.recv(65535).decode("utf-8") def jhjzt(self): while True: p_list=[] for i in userlist.keys(): pat=self.send_com(userlist[i]["com"]) res = re.compile(userlist[i]["re"]).findall(pat) if i =="fan":res =res if res else "all fan are faulty" p_list.append(f"{i}:{res}") with open(r"E:\PYTHON\tets011", 'w') as f: f.write(pat) print("\n".join(p_list)) time.sleep(60*5) def xiazai(self): while True: with paramiko.Transport(("192.168.100.1",22)) as t : t.connect(username="python",password="Huawei@123") sftp= paramiko.SFTPClient.from_transport(t) sftp.get("/vrpcfg.zip", f"{datetime.now().strftime('%Y_%d_%m_%H_%M_%S')}_X_T1_AGG1.zip") print("下载成功") time.sleep(60*60*24) def binfa(self): Thread(target=self.jhjzt).start() Thread(target=self.xiazai).start() file_lock = threading.Lock() def write_file(data, file_path): with file_lock: # 获取锁 try: with open(file_path, 'w') as f: f.write(data) except PermissionError as e: print(f"权限错误: {e}") # 添加重试逻辑(见步骤3) if __name__ == '__main__': SW().binfa()```logbuffer显示这个 Info: Slave board is not ready.
最新发布
03-22
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLXIN7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值