开发者社区> 问答> 正文

如何与shell交互:报错 

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

展开
收起
kun坤 2020-06-04 21:07:14 528 0
1 条回答
写回答
取消 提交回答
  • 添加SSH信任既可。######sshkeys######不用key,key比帐号更麻烦,需要程序(比如java)在终端生成公钥,scp到git服务器,添加knowhosts文件中###### java 当然可以直接执行shell ,用 runtime 或者 ProcessBuilder。
    执行的时候直接传入shell文本绝对路径即可 ######

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

    java 当然可以直接执行shell ,用 runtime 或者 ProcessBuilder。 执行的时候直接传入shell文本绝对路径即可

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

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

    java 当然可以直接执行shell ,用 runtime 或者 ProcessBuilder。 执行的时候直接传入shell文本绝对路径即可

    引用来自“Photon”的评论

    是用runtime,git clone使用ssh协议,会让你输密码,java如何跟shell交互自动填充密码执行完? 上面都说了不用key,java还要事先在客户端生成公钥,复制到服务器,加入信任列表,这个过程比验证帐号密码更复杂######在shell中用expect命令,可以代替用户进行密码交互操作。
    2020-06-08 11:03:01
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Shell 脚本速查手册 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载