首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法创建目录/var/ Could

无法创建目录/var/ Could
EN

Stack Overflow用户
提问于 2013-10-28 00:40:41
回答 4查看 4.7K关注 0票数 10

我已经在我的mac上安装了os服务器(小牛),并希望添加机器人。由于某些原因,我的远程回购位于其他外部服务器上,并且我可以在指定端口上通过用户名和密码访问它。我将远程回购添加到os服务器中,如下所示:

ssh://1.2.3.4:端口/path/to/repo.git

...filled用户名和密码。

然后,我在Xcode中添加了bot,但是当我点击integrate时,它会失败:

克隆入'ssh_myusername_1_2_3_4_PORT_path_to_repo_git'... OpenSSH_6.2p2,OSSLShim 0.9.8r 2011年12月8日debug1:阅读 配置数据/etc/ssh_config debug1: /etc/ssh_config第20行: 为*debug1应用选项:连接到1.2.3.4 1.2.3.4端口。 debug1:建立连接。 无法创建目录‘/var//..ssh’。 debug1: identity文件/var/debug1/..ssh/id_rsa type -1 debug1: identity文件/var/工作组identity/..ssh/id_rsa-cert类型-1 debug1:标识文件/var/teamsserver/..ssh/id_dsa类型-1 debug1:标识文件/var/teamsserver/..ssh/id_dsa-cert 1 debug1:为协议2.0启用兼容性模式 debug1:本地版本字符串SSH-2.0-OpenSSH_6.2 debug1:远程协议版本2.0,远程软件版本OpenSSH_6.0p1 Debian-3 ubuntu1 debug1: match: OpenSSH_6.0p1 Debian-3 ubuntu1 pat OpenSSH* debug1: SSH2_MSG_KEXINIT发送 debug1: SSH2_MSG_KEXINIT接收 debug1: kex: server->client kex 128-CTRHMAC-MD5无 debug1: kex: client->server kex 128-CTRHMAC-MD5无 debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192)发送 debug1:期待SSH2_MSG_KEX_DH_GEX_GROUP debug1: SSH2_MSG_KEX_DH_GEX_INIT发送 debug1:期待SSH2_MSG_KEX_DH_GEX_REPLY 服务器主机密钥: RSA b6:b8:0e:e4:25:63:6d:64:a3:d6:6d:7f:46:85:72:0d debug1:在没有端口标识符的情况下进行检查,已知1.2.3.4:端口没有RSA主机密钥,并且您已经请求严格检查。主机密钥验证失败。 致命:无法从远程存储库读取。 请确保您有正确的访问权限和存储库存在。 已知主机文件路径位于/Library/Server/Xcode/Config/ SSH _已知_host中。 启用SSH严格的主机检查(您可以通过编辑 /Library/Server/Xcode/Config/xcsbuildd.plist中的SSHStrictHostKeyChecking密钥 不受信任的HTTPS证书被禁用(您可以通过编辑 /Library/Server/Xcode/Config/xcsbuildd.plist中的TrustSelfSignedSSLCertificates密钥

我假设权限存在问题,但是在我的/var中有一些具有不同权限的目录,当然也没有teams服务器文件夹.

因此,我不知道如何设置适当的权限(而不更改/var.的其他子目录的权限)。我可以尝试手动创建目录"teams“,但是不知道有什么权限.?你有什么想法吗?

编辑:为了测试目的,我用777创建了teamsserver目录,但这并不能解决我的问题。日志看起来与以前的日志相同,只是没有一行:

无法创建目录‘/var//..ssh’。

有什么想法吗?

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-31 14:46:48

好吧,我花了点时间,但我有个解决办法.实际上有两种解决方案。羞于承认但阅读和理解日志就足以解决问题(再说一遍:P)。

第一个答案:

在安装os x服务器之前,我的服务器主机密钥被添加到..ssh/知名主机中。服务器不使用已知主机的路径。如log所说,服务器使用:

已知主机文件路径位于/Library/Server/Xcode/Config/ SSH _已知_host中。

在我的案子里那个文件是空的。因此,要解决这个问题,将known_hosts复制到ssh_known_hosts就足够了:

代码语言:javascript
复制
sudo cp ~/.ssh/known_hosts /Library/Server/Xcode/Config/ssh_known_hosts

就这么简单。

第二项答覆:

再次登录

启用了SSH严格的主机检查(您可以通过编辑/Library/Server/Xcode/Config/xcsbuildd.plist中的SSHStrictHostKeyChecking键来禁用它。

将SSHStrictHostKeyChecking更改为false。

又来了。

票数 7
EN

Stack Overflow用户

发布于 2013-10-29 00:46:48

当我尝试在ssh密钥对保护的github上运行git命令时,方案操作构建脚本也遇到了类似的问题。

机器人使用_teamsserver系统帐户运行生成。正如您已经发现的,默认情况下,这些帐户没有主目录。要设置构建以访问和修改其主目录,我成功地完成了以下操作(您的里程可能有所不同):

代码语言:javascript
复制
sudo mkdir /var/teamsserver
sudo chown -R _teamsserver:_teamsserver /var/teamsserver/
sudo chmod -R 770 /var/teamsserver/

HTH

票数 8
EN

Stack Overflow用户

发布于 2014-01-09 20:49:39

如果您已经尝试了上面的操作,但仍然获得了一个权限被拒绝的错误,那么您可能没有对该文件/目录的正确权限。

  • 你以谁的身份竞选?$id
  • $ls -al服务器试图从id_rsa中读取的目录(可能类似于这个路径:Library/Server/Xcode/Data/BotRuns/BotRun-a28db5fc-1932-47a0-a528-f52c75e421e2.b‌​undle/credentials/65885363-194e-454b-a3ce-56dcaaf5d3c9/id_rsa)
  • 更改该文件的所有权^^ ($sudo chown {#id} {#path})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19625530

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档