如何与shell交互

Photon 发布于 2014/09/15 11:51
阅读 984
收藏 0

因为批量部署客户端需要执行git clone命令实现自动化,在客户端ubuntu上我用java runtime执行git clone命令,纠结的是需要输入密码,貌似java无法跟shell交互,尝试sh脚本也不行,有什么解决办法没?

或者能不能设置git服务端,允许不输入密码也能clone、pull?

加载中
0
路小磊
路小磊
添加SSH信任既可。
0
0
Photon
Photon
不用key,key比帐号更麻烦,需要程序(比如java)在终端生成公钥,scp到git服务器,添加knowhosts文件中
0
HostSugar
HostSugar

java 当然可以直接执行shell ,用 runtime 或者 ProcessBuilder。

执行的时候直接传入shell文本绝对路径即可

0
Photon
Photon

引用来自“东门吹风”的评论

java 当然可以直接执行shell ,用 runtime 或者 ProcessBuilder。

执行的时候直接传入shell文本绝对路径即可

是用runtime,git clone使用ssh协议,会让你输密码,java如何跟shell交互自动填充密码执行完?
Zoker
Zoker
ssh协议为什么让你输入密码,肯定是你key没有配置好
0
温习江湖
温习江湖
https也可以设置记住密码,到网上搜一下具体设置项
0
Photon
Photon

引用来自“东门吹风”的评论

java 当然可以直接执行shell ,用 runtime 或者 ProcessBuilder。

执行的时候直接传入shell文本绝对路径即可

引用来自“Photon”的评论

是用runtime,git clone使用ssh协议,会让你输密码,java如何跟shell交互自动填充密码执行完?
上面都说了不用key,java还要事先在客户端生成公钥,复制到服务器,加入信任列表,这个过程比验证帐号密码更复杂
0
临峰不畏
临峰不畏
在shell中用expect命令,可以代替用户进行密码交互操作。
返回顶部
顶部