相关疑难解决方法(0)

在bash脚本中使用expect为SSH命令提供密码

对于那些想要回复我应该使用SSH密钥的人请弃权

我正在尝试在bash脚本中使用expect来提供SSH密码.提供密码是有效的,但我不会像我应该的那样在SSH会话中结束,它会回到海峡.

我的剧本:

#!/bin/bash

read -s PWD

/usr/bin/expect <<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com'
expect "password"
send "$PWD\n" 
EOD
echo "you're out"
Run Code Online (Sandbox Code Playgroud)

我脚本的输出:

spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
Run Code Online (Sandbox Code Playgroud)

我想拥有我的SSH会话,只有当我退出它才能返回我的bash脚本.我之前使用bash的原因是因为我使用了一个菜单,我可以选择连接哪个单元.

谢谢

linux ssh bash expect

125
推荐指数
8
解决办法
35万
查看次数

从Dockerfile运行git clone提示输入用户名/密码

我正在尝试建立一个多阶段的docker构建,并且需要在最初的第一阶段构建步骤中克隆我的源代码。

但是,git clone由于存储库的路径在私有github enterpr服务器上,因此需要用户名/密码。在正常情况下,git会提示您输入用户名/密码。但是,从RUNDockerfile中的某个步骤启动git clone时,没有这样的提示,并且输出很简单:

致命:无法读取“ https://yourserver.com ”的用户名:无此类设备或地址命令“ / bin / sh -c git clone https://yourserver.com/name/yourpath ”返回非零码:128

即使使用-tidocker build步骤中指定的标志。如何传递用户名/密码或至少提示输入?我不希望将其嵌入Dockerfile中。

git docker

6
推荐指数
1
解决办法
6718
查看次数

标签 统计

bash ×1

docker ×1

expect ×1

git ×1

linux ×1

ssh ×1