Search code examples
macoscontinuous-integrationxcode5botsosx-server

Could not create directory /var/teamsserver


I've installed os x server (Mavericks) on my mac and would like to add bot. For some reasons my remote repo is located on other external server and I have access to it by username and password on specified port. I've added remote repo to os x server like this:

ssh://1.2.3.4:PORT/path/to/repo.git

...filled username and password.

Then I've added bot in Xcode but when I hit integrate it fails with logs:

Cloning into 'ssh_myusername_1_2_3_4_PORT_path_to_repo_git'...

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011 debug1: Reading

configuration data /etc/ssh_config debug1: /etc/ssh_config line 20:

Applying options for * debug1: Connecting to 1.2.3.4 [1.2.3.4] port PORT.

debug1: Connection established.

Could not create directory '/var/teamsserver/.ssh'.

debug1: identity file /var/teamsserver/.ssh/id_rsa type -1

debug1: identity file /var/teamsserver/.ssh/id_rsa-cert type -1

debug1: identity file /var/teamsserver/.ssh/id_dsa type -1

debug1: identity file /var/teamsserver/.ssh/id_dsa-cert type -1

debug1: Enabling compatibility mode for protocol 2.0

debug1: Local version string SSH-2.0-OpenSSH_6.2

debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-3ubuntu1

debug1: match: OpenSSH_6.0p1 Debian-3ubuntu1 pat OpenSSH*

debug1: SSH2_MSG_KEXINIT sent

debug1: SSH2_MSG_KEXINIT received

debug1: kex: server->client aes128-ctr hmac-md5 none

debug1: kex: client->server aes128-ctr hmac-md5 none

debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent

debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP

debug1: SSH2_MSG_KEX_DH_GEX_INIT sent

debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY

debug1: Server host key: RSA b6:b8:0e:e4:25:63:6d:64:a3:d6:6d:7f:46:85:72:0d

debug1: checking without port identifier No RSA host key is known for [1.2.3.4]:PORT and you have requested strict checking. Host key verification failed.

fatal: Could not read from remote repository.

Please make sure you have the correct access rights and the repository exists.

SSH Known Hosts file path is located at /Library/Server/Xcode/Config/ssh_known_hosts

SSH strict host checking is enabled (you can disable this by editing the

SSHStrictHostKeyChecking key in /Library/Server/Xcode/Config/xcsbuildd.plist

Untrusted HTTPS certificates is disabled (you can enable this by editing the

TrustSelfSignedSSLCertificates key in /Library/Server/Xcode/Config/xcsbuildd.plist

I assume that there is a problem with permissions but in my /var there are some directories with different permissions and of course there is no teams server folder...

So I don't know how to setup proper permissions (without changing permissions of other subdirectories of /var...). I can try manually make directory "teams server" but don't know with what permissions... ? Do you have any ideas?

EDIT: For test purpose I've created teamsserver directory with 777 but that doesn't solve my problem. Logs looks the same as previous butjust WITHOUT line:

Could not create directory '/var/teamsserver/.ssh'.

Any ideas?

Thanks


Solution

  • Ok, I took some time but I've a solution... Two solutions actually. Ashamed to admit but read and understand logs is enough to solve the problem (again :P).

    FIRST ANSWER:

    My server host key was added to .ssh/known_hosts BEFORE installing os x server. Server does't use that path of known hosts. As log says server uses:

    SSH Known Hosts file path is located at /Library/Server/Xcode/Config/ssh_known_hosts

    and that file was empty in my case. So to solve the problem it is enough to copy known_hosts to ssh_known_hosts:

    sudo cp ~/.ssh/known_hosts /Library/Server/Xcode/Config/ssh_known_hosts
    

    It's that simple.

    SECOND ANSWER:

    Acording to log again

    SSH strict host checking is enabled (you can disable this by editing the SSHStrictHostKeyChecking key in /Library/Server/Xcode/Config/xcsbuildd.plist

    Change SSHStrictHostKeyChecking to false.

    It's done again.