Я не могу ssh ничего, что я мог. Немного покопавшись, я обнаружил, что он не читает конфигурацию ssh из моего домашнего каталога.
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
(...)
Когда на идентичном компьютере друга, где все работает, это выглядит так:
$ ssh -xvvv server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
(...)
Это работало ранее, и я не знаю ничего, что я мог бы сделать, чтобы вызвать эту проблему. Как это могло произойти и как это исправить?
В ссылке на документацию, на которую указывает тике, указано, что
Из-за возможного злоупотребления этот файл должен иметь строгие разрешения: чтение / запись для пользователя и недоступность для других.
Мои разрешения:
$ ls -la ~/.ssh
total 80
drwx------+ 42 kuba 1029 1428 Jul 1 16:33 ..
-rwx------ 1 kuba 1029 1528 May 15 13:07 config
(...)
Я думаю, что проблема может быть в путанице с домашним каталогом. Когда я заставляю локальный файл конфигурации, он начинает работать, а затем внезапно начинает читать из/nas/kuba
$ ssh -xvvvF ~/.ssh/config server
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /Users/kuba/.ssh/config
debug1: /Users/kuba/.ssh/config line 1: Applying options for *
debug1: /Users/kuba/.ssh/config line 39: Applying options for bio
debug2: ssh_connect: needpriv 0
debug1: Connecting to XXXX [YYYY.YYY.YYY.YYY] port 22.
debug1: Connection established.
debug1: identity file /nas/kuba/.ssh/id_dsa type -1
^^^^^^^^^^
Но мой домашний каталог, кажется, настроен нормально:
$ cd ~; pwd
/Users/kuba
$ echo $HOME
/Users/kuba
sshигнорирует HOMEпеременную окружения. Это плохая практика игнорировать HOME, кажется, это то, что sshделает. Если он не используется HOME, единственная альтернатива, о которой я знаю, - это поискать ее из uid. Если у вас есть две записи /etc/passwdс одинаковыми значениями uid, обе будут использовать один и тот же .ssh/configфайл, даже если у них разные дома.