Ubuntu 上 SecureCRT 脚本执行设置指南
一 前置准备
- 在 Ubuntu 上安装 Wine,然后使用 Wine 安装 SecureCRT(.exe 安装包)。安装完成后可通过命令启动:wine “C:\Program Files\VanDyke Software\SecureCRT\SecureCRT.exe”。若遇到中文乱码,在会话的 Terminal → Appearance 将字符编码设为 UTF-8。以上步骤确保你在 Ubuntu 桌面环境中能正常使用 SecureCRT 的 GUI 与脚本功能。
二 方式一 登录后自动执行服务器上的脚本
- 将脚本上传到目标服务器(可用 SecureCRT 的 SFTP 上传到如 /root/scripts/ 目录),并在服务器上赋权:chmod +x /root/scripts/your_script.sh。
- 在 SecureCRT 中打开目标会话,进入 Options → Session Options → Connection → Logon Actions(不同版本可能位于 Terminal/Behavior 或 Automate 页签,名称接近“登录操作/启动时发送字符串”):
- 勾选 Auto Login(自动登录,如已配置密钥或保存密码可自动登入)。
- 在 Send string(s) 或等效输入框中填入要执行的命令,例如:/root/scripts/your_script.sh。
- 如需等待命令提示符再继续,可追加等待字符串(如 $ 或 #),或勾选“等待提示符”类选项(不同版本名称略有差异)。
- 保存会话。下次连接时,SecureCRT 会在登录完成后自动执行该脚本。若脚本需要 sudo 免密,请在服务器上配置好 NOPASSWD。
三 方式二 使用 SecureCRT 内置脚本自动化交互 VBScript 示例
四 方式三 批量执行与日志审计
- 批量处理思路:
- 创建多个会话(每个会话对应一台主机),为每个会话配置相同的 登录动作/启动脚本,即可一键并发执行。
- 在脚本或会话选项中启用 日志记录(Log File),将输出保存到文件,便于审计与回溯。
- 结合 TCL/TK(SecureCRT 脚本支持)或外部自动化工具,编排多主机、多步骤任务流。
- 若不使用 SecureCRT 的 GUI 自动化,也可在外部用 Python + Paramiko 直接 SSH 执行命令,更易集成 CI/CD 与大规模编排(但这已脱离 SecureCRT 本身)。
五 常见问题与排查
- 中文乱码:在 Session Options → Terminal → Appearance → Character encoding 选择 UTF-8。
- 自动登录失败:确认用户名/密码或密钥已正确保存;如使用密钥,确保私钥权限为 600,并在会话属性中正确指定。
- 命令未执行或执行过早:在脚本中用 WaitForString 等待明确的提示符(如 $、#),必要时增加等待超时与重试逻辑。
- 需要 sudo 权限:在服务器上配置 /etc/sudoers 的 NOPASSWD,或在脚本中处理交互式 sudo(不推荐明文密码)。
- 日志缺失:在会话或脚本中开启日志,并确认有写入权限与磁盘空间。