gpt4 book ai didi

ant - 使用密码从 ant 脚本通过 SSH 进行 Rsync

转载 作者:行者123 更新时间:2023-12-02 13:58:23 25 4
gpt4 key购买 nike

我的开发人员机器上运行着一个虚拟机,我需要通过 SSH 通过 ant 构建脚本将文件同步到它以“部署”。在生产中,安全性是一个问题,但在与本地计算机上的开发 VM 通信时,我真的不关心安全 SSH 实践。

我本可以创建一个证书并将其安装在我的 SSH key 中,但这有点烦人。我宁愿通过 ant 脚本将我的密码发送到 rsync 并收工。

(编辑 - 如果你真的无法在没有示例的情况下处理这个问题,假设这台服务器不在我的控制范围内,他们邪恶的系统管理员出于任何原因拒绝让我使用 SSH key 登录。谁知道?他只是疯了男人!)

有什么方法可以在不编辑 ssh 配置的情况下调用 SSH,或者更具体地说,在非交互模式下调用 rsync?换句话说,只需提供密码?

最佳答案

我碰巧已经想出了一个解决方案,但这并不是很容易,所以我想分享一下。

基本上,我使用了一个名为“expect”的命令行程序来将我的密码填充到 rsync 的交互模式中。我也不想把它写成脚本,所以我把它浓缩成一个命令。如果出于某种原因需要,这也适用于 ssh 和 rsync。

也许有更好的方法,但这似乎工作正常。

下面的 192.168.64.131 显然是我本地虚拟机的 ip。用您的 ssh 登录名和密码替换 login_name 和 login_password。

expect -c 'spawn rsync -avz -e ssh ./ login_name@192.168.64.131:/var/www/auth/; expect "*?assword:*" {send "login_password\r"; interact};'

关于ant - 使用密码从 ant 脚本通过 SSH 进行 Rsync,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13095165/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com