Создание и обмен SSH-ключами
Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
Создаем пару ключей. Будет запрошен каталог для сохранения ключа, а также парольная фраза. В простом варианте парольную фразу можно оставить пустой, но для большей защиты можно использовать и ее:
test@gfl-1160:~$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/test/.ssh/id_rsa): Created directory '/home/test/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/test/.ssh/id_rsa. Your public key has been saved in /home/test/.ssh/id_rsa.pub. The key fingerprint is: cc:18:13:9f:4d:03:f1:cb:52:48:47:88:57:d4:a8:ad test@gfl-1160 The key's randomart image is: +--[ RSA 2048]----+ | ..+BBo | | .+oB... | | o.+o+ | | *.o.. | | . S.o | | E. | | | | | | | +-----------------+
После этого будет создан каталог .ssh с таким содержимым:
test@gfl-1160:~$ ls -al .ssh/ итого 8 drwx------ 2 test test 104 Дек 8 23:46 . drwxr-xr-x 3 test test 152 Дек 8 23:46 .. -rw------- 1 test test 1675 Дек 8 23:46 id_rsa -rw-r--r-- 1 test test 395 Дек 8 23:46 id_rsa.pub
id_rsa.pub - это открытый ключ, который необходимо скопировать в файл ~/.ssh/authorized_keys на другой машине. В Debian GNU/Linux для облегчения процедуры есть утилита ssh-copy-id, которая делает все автоматически:
test@gfl-1160:~$ ssh-copy-id -i .ssh/id_rsa.pub rain@192.168.1.222 rain@192.168.1.222's password: Now try logging into the machine, with "ssh 'rain@192.168.1.222'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
Теперь можно залогиниться на хост 192.168.1.222 под пользователем rain с авторизацией по ключам, без ввода пароля.