Доброе впемя суток.
Тут решил поэксперементировать с SSH. Хотел сделать так, чтоб войти можно было только по ключу. В настройках sshd есть параметр PasswordAuthentication. Насколько я понял он отвечает за аутенфикацию по паролю. Так вот, если его поставить в "no", то клиенты продолжают конектиться по паролю как и до этого. В какую сторону копать?
>Доброе впемя суток.
>Тут решил поэксперементировать с SSH. Хотел сделать так, чтоб войти можно было
>только по ключу. В настройках sshd есть параметр PasswordAuthentication. Насколько я
>понял он отвечает за аутенфикацию по паролю. Так вот, если его
>поставить в "no", то клиенты продолжают конектиться по паролю как и
>до этого. В какую сторону копать?
ChallengeResponseAuthentication no
UsePAM no
дополню вышенаписанное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 необходимо указывать явно!