Q: Доступ по ключу, а не по паролю.
A: Это обеспечивает не только повышенный уровень защищённости, но и может упростить отладочные работы в своей LAN, когда нужен частый доступ к хостам...
1. Генерируем пару ключей как показано выше (ssh-keygen) ...
2. Копируем публичный ключ на сервер к которому планируется доступ по ключу, для этого есть специальная утилита : ssh-copy-id
Код: Выделить всё
olej@R420:~/.ssh$ ssh-copy-id olej@nvidia
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/olej/.ssh/id_rsa.pub"
The authenticity of host 'nvidia (192.168.1.11)' can't be established.
ECDSA key fingerprint is SHA256:h4gjl+H5EOZLcy/PGAO1qBmXux1S+iSslT9FfvIVoP4.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
olej@nvidia's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'olej@nvidia'"
and check to make sure that only the key(s) you wanted were added.
(здесь: olej - имя пользователя для которого..., а nvidia - хост, возможно прописанный в /etc/hosts, здесь может быть просто IP-адрес)
3. Если после этого рассмотреть тот хост:
Код: Выделить всё
olej@nvidia:~/.ssh$ hostname
nvidia
olej@nvidia:~/.ssh$ ls -l
итого 32
-rw------- 1 olej olej 563 апр 5 14:20 authorized_keys
-rw-rw-r-- 1 olej olej 51 дек 10 11:45 config
-rw------- 1 olej olej 2602 окт 31 15:45 id_rsa
-rw-r--r-- 1 olej olej 565 окт 31 15:45 id_rsa.pub
-rw------- 1 olej olej 13260 мар 31 17:02 known_hosts
Появился новый файл ~/.ssh/authorized_keys
Где каждый публичный ключ будет представлен 1-й строкой:
Код: Выделить всё
olej@nvidia:~/.ssh$ cat authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDlcnKQwmjLY3d69tOdjSnnQ/iJQ9Uu...
...
Так что ключ занести туда можно и простым текстовым копированием, как показывалось в сообщении выше.
4. Теперь мы можем иметь доступ по
своему ключу:
Код: Выделить всё
olej@R420:/dev$ ssh nvidia -i ~/.ssh/id_rsa
Last login: Mon Apr 5 14:15:13 2021 from 192.168.1.13
olej@nvidia:~$ hostname
nvidia
... и мы уже на удалённом хосте...
5. Как видно, в команде использовался приватный (секретный) ключ. На самом деле хорошей практикой есть копирование его в отдельный ключевой файл, с нейтральным именем, в то место откуда производится доступ....