从Windows命令行自动化SSH密码、SFTP和隧道
非交互式地注入SSH密码,使用进度进行SFTP传输,并直接从Windows命令行创建TCP隧道,使用win-sshpass。该工具由chuccp创建,针对需要脚本化远程访问的系统管理员和DevOps工程师。它捆绑了密码认证、递归SFTP、SCP/rsync风格的语法和用于自动化管道的JSON输出。这适合无法依赖外部UNIX层的自动化集中Windows环境。
win-sshpass在自动化工作流中有什么作用?
win-sshpass 非交互式地接受凭据,并运行SSH命令或文件传输,而无需手动提示。它支持密码和私钥认证,并可以与ssh-agent交互,这使得脚本在需要时选择安全的基于密钥的访问。该工具还读取多个服务器配置文件,并发出结构化的JSON输出,旨在用于自动化工具和代理编排。
它会影响系统资源或需要额外的运行时吗?
可执行文件是用Go编写的,作为一个独立的二进制文件运行,没有外部依赖,因此不需要WSL或Cygwin。这种设计使安装简单,并将运行时行为隔离到进程中。后台传输提供进度报告,SFTP递归支持断点续传,这减少了网络中断时的重复工作。
在自动化凭据和生产脚本中使用它安全吗?
该工具可以在命令行上接受密码,但文档警告说进程列表可能会暴露参数,并建议使用环境变量或配置文件来存储凭据。它支持私钥和ssh-agent集成,并提供端口转发和交互式原始终端模式的选项,以便控制台工具可以限制密码使用,并更倾向于基于密钥或代理管理的认证。
Windows上自动化的实用建议
对于需要在Windows上进行非交互式SSH和SFTP的管理员和DevOps专业人员,win-sshpass提供了一个紧凑的、无依赖的实现,并具有用于管道集成的JSON输出。建议使用密钥认证或配置文件凭据,以避免命令行暴露。推荐。