дополню вышенаписанноеPubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
теперь о процессе создания ключей, сначала их надо сгенерировать, затем публичный ключ надо отправить на сервер, и внести его в файл authorized_keys. затем уже можно будет подключаться с помощью секретного ключа к серверу.
1. Создаем пару ключей
ssh-keygen -b 1024 -t dsa
далее надо указать имя создаваемого ключа и ввести дважды парольную фразу (passphrase)
2. Теперь когда есть 2 ключа необходимо доставить ключ.pub на сервер. Делать это можно разными способами, я делал так
scp key.pub server-host:/var/tmp/clienthost.pub
3. Затем на сервере, необходимо ввнести этот ключ, в файл /home/username/.ssh/authorized_keys
cat /var/tmp/clienthost.pub >> /home/username/.ssh/authorized_keys
Причем доступ при подключении через ключ, будет разрешен только тому пользователю, у кого в домашней директории внесен публичный ключ. Если это пользователь john то и подключать через ключ можно только под пользователем john.
4. Теперь можно подключаться
ssh -i /path/to/keyfile john@servername
Имя пользователя john необходимо указывать явно!