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

7,014

Solution 1

Are you using an LDAP-backed login? It's possible your machine has lost connection to the ldap and somehow lost your HOME attribute. A coworker 'got around' this by disconnecting and reconnecting his network, instead of a reboot.

Annoying, but perhaps a step closer to the root cause of the issue..

Solution 2

You should perhaps change the $HOME enviroment variable from /var/empty to /Users/username.

export HOME="/Users/your-username"

should do the trick.

Share:
7,014

Related videos on Youtube

doremi
Author by

doremi

Updated on September 18, 2022

Comments

  • doremi
    doremi over 1 year

    Every day, after several hours of use, anything using SSH will just randomly stop working. The only solution is for me to restart my machine, which fixes it until it randomly occurs again.

    > git push
    Could not create directory '/var/empty/.ssh'.
    The authenticity of host 'github.com (192.30.252.131)' can't be established.
    RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
    Are you sure you want to continue connecting (yes/no)?
    

    Here's more info with -v (shortened for brevity) after trying to ssh into a diff host:

    debug1: Connection established.
    Could not create directory '/var/empty/.ssh'.
    debug1: identity file /var/empty/.ssh/id_rsa type -1
    debug1: identity file /var/empty/.ssh/id_rsa-cert type -1
    debug1: identity file /var/empty/.ssh/id_dsa type -1
    debug1: identity file /var/empty/.ssh/id_dsa-cert type -1 
    

    I'm logged into my main OSX user. ~/ and ~/.ssh are both fine and intact and I'm not doing anything to the permissions of my user when this happens. I'm certainly not messing around with anything in /etc when this happens.

    Is there anything I can try to help troubleshoot this to figure out why it keeps happening?

    • 8bittree
      8bittree about 10 years
      What is the output of ls -l /var/empty?
    • kobaltz
      kobaltz about 10 years
      What happens when you manually create the .ssh directory in /var/empty. You can use chown -R USERNAME /var/empty/.ssh to change the ownership to your account.
    • doremi
      doremi about 10 years
      ls -l /var/empty returns nothing. @kobaltz It works until ssh needs my key and then it fails because it can't find them in /var/empty/.ssh. I could move them, but that doesn't tell me what the underlying issue is.
    • 8bittree
      8bittree about 10 years
      Right, this would probably work better if I asked about the right command. What does stat -f "%Sp" /var/empty say?
    • doremi
      doremi about 10 years
      drwxr-xr-x, but I think /var/empty is red herring for the root issue which is why does ssh stop using my home dir's .ssh and begin looking in a different place.
    • rici
      rici about 10 years
      @doremi: That is exactly correct. It could well be that you've done something which causes the git session to be running as a different user (possibly whatever OS X uses for "nobody"). You might want to check whoami or some such.
  • erran
    erran about 6 years
    Disconnecting/reconnecting to the network fixed this problem for me.