You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python脚本通过SecureCRT连接交换机为何需手动输用户名?如何自动传入

SecureCRT Python脚本无法自动传入用户名的解决办法

问题描述

原VB脚本可自动完成交换机SSH连接:

crt.Session.Connect " /SSH2 /L " & user & " /PASSWORD " & pass & " /P 22" & " /ACCEPTHOSTKEYS " & ip

转换为Python脚本后,运行到连接步骤时,SecureCRT弹出登录提示框要求手动输入用户名,脚本挂起无法继续:

crt.Session.Connect("SSH2/L %s /PASSWORD %s /P 22 /ACCEPTHOSTKEYS %s" % (user, pass, ip))

弹出的提示内容:

#Banner
Please enter login information for #ip.
Username:

问题根源

连接字符串的参数格式错误:/L是指定登录用户名的参数,它和用户名之间必须有空格。原VB脚本中正确保留了这个空格,但Python脚本里写成了SSH2/L %s,将/L和用户名占位符直接连在一起,导致SecureCRT无法识别传入的用户名参数,因此触发手动登录流程。

修复方案

修正连接字符串,在/L与用户名占位符之间添加空格,同时确保SSH2与后续参数之间也有空格(和原VB脚本格式保持一致,避免其他解析问题):

crt.Session.Connect("SSH2 /L %s /PASSWORD %s /P 22 /ACCEPTHOSTKEYS %s" % (user, pass, ip))

内容的提问来源于stack exchange,提问作者Shadomew

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 19:18:30