Доступ по SSH к системе без пароля в 10.5

Намедни настраивал некую хитрую систему, в рамках которой использовался SSH-доступ к компьютеру по сети. Вновь наступил на грабли пустого пароля. Как выяснилось, это можно обойти.
Начиная с системы 10.5 Apple ужесточила правила работы с командной строкой. Нынче у вас не получится выполнить терминальную команду, требующую ввода пароля, если последний пуст. Также, по-умолчанию, войти удаленно по ssh, если пароль пустой, нельзя.
Чтобы обойти это ограничение, нужно будет проделать несколько действий на том компьютере, с которого вы собираетесь заходить.
Сначала нужно будет создать ключи SSH. Для этого в терминале вводим:
ssh-keygen -t rsa
Появится запрос места, куда вы хотите сохранить ключи. Можно сохранить их в место по-умолчанию, нажав Enter:
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/macintosh/.ssh/id_rsa): 
Created directory ‘/Users/macintosh/.ssh’.
Затем появится запрос пароля. Чтобы пароль был пустым, нажмите Enter пару раз — при первом запросе и при запросе подтверждения:
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/macintosh/.ssh/id_rsa.
Your public key has been saved in /Users/macintosh/.ssh/id_rsa.pub.
Ключи созданы. Теперь надо авторизовать. Сделать это легко — достаточно добавить содержимое ~/.ssh/id_rsa.pub в файл ~/.ssh/authorized_keys. Если последнего просто нет — можно полностью скопировать id_rsa.pub:
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
Остался тонкий момент. Нужно скопировать полученный ключ на тот компьютер, куда мы, собственно, собираемся заходить. Для этого нужно руками взять файл id_rsa.pub из папки .ssh в локальной пользовательской папке компьютера, откуда будем заходить, и внести в аналогичную папку на том компьютере, куда будет вход. Папка эта скрыта. Попасть в нее можно, открыв в Finder’е и нажав клавиши command-shift-G. Появится приглашение ввести путь к папке, куда вы хотите перейти. Введите «~/.ssh» (без кавычек), нажмите Enter.
На том компьютере, куда вы будете входить, также зайдите в папку ~/.ssh. Если таковой нет — создайте ее:
mkdir .ssh
Скопируйте в нее файл id_rsa.pub
Теперь вы можете попытаться зайти удаленно:
ssh macintosh@192.168.0.10
Разумеется, имя пользователя (здесь — «macintosh») должно быть таким, как на удаленной машине, куда вы входите; ip-адрес (здесь 192.168.0.10) — адресом удаленной машины. Не забудьте удостовериться что в «Общем доступе» Системных настроек такой вход разрешен. При первой попытке входа вы увидите запрос на добавление удаленной машины в файл known_hosts вида:
The authenticity of host ‘remote.host.com (192.168.0.10)’ can’t be established.
RSA key fingerprint is 0a:3f:10:2c:22:18:03:93:0a:58:ee:cc:2c:d9:e5:7f.
Are you sure you want to continue connecting (yes/no)? yes
Отвечаете yes. Более такого вопроса вы не увидите. Теперь вы можете заходить на другой беспарольный компьютер по ssh
Автор благодарит ресурс www.macresearch.org и персонально Drew McCormack за информацию по теме.

О maclesik

Независимый IT-консультант, специализирующийся на маковской тематике.
Закладка постоянная ссылка.