Әдетте Ubuntu серверіме терминал арқылы ssh командасымен қосыламын.
Ол үшін мына команданы қолданатынмын
ssh <user>@<ip-address>
Осыдан кейін сервер құпиясөз сұрайтын. Құпиясөзімді енгізіп, серверге қосылатынмын.
Алайда миым осыны жасауға қиналып, көп жағдайда қосылуға ерінетінімді байқадым. Бір жағынан құпиясөзді іздеп табу да көп уақыт алады.
Сондықтан, әрдайым құпиясөзді енгізбес үшін public key жасауды ұйғардым.
Ол үшін не істеу керек?
1. өзіңіздің компьютердегі терминалда мына команданы теру керек
ssh-keygen -t rsa
Нәтижесінде
[root@cae .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/my_id
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/my_id.
Your public key has been saved in /root/.ssh/my_id.pub.
The key fingerprint is:
1c:ee:bb:73:b2:42:34:02:e2:85:bf:c9:97:01:d1:f7 root@cae.netezza.com
The key's randomart image is:
+--[ RSA 2048]----+
| ..o |
|...o . . |
|..o.. . o |
| . ...oo E |
| . ooo.S |
| + o.. |
| .. . |
| . o.. |
| .+* |
+-----------------+
шығады.
Бұл жерде my_id орнына сервердің атын енгізген дұрыс.
Passphrase қолданғыңыз келмесе, онда жәй Enter баса салыңыз
2. Нәтижесінде /root/.ssh/ (әр компьютерде басқа жол болуы мүмкін)каталогына кілттер генерацияланады.
Осы каталогқа өтіп, кілттер шынымен де құрылғанын тексерейік
[root@cae .ssh]#cd /root/.ssh/
[root@cae .ssh]# ls
id_dsa identity id_rsa jlan my_id test
id_dsa.pub identity.pub id_rsa.pub known_hosts my_id.pub test.pub
[root@cae .ssh]#
Бұл жерде cd командасы (Change Directory) көрсетілген каталогқа өту мағынасын білдіреді. Каталогқа өткеннен кейін ls командасы арқылы каталогта бар барлық файлдардың тізімін шығара аламыз. Біздің жағдайда my_id және my_id.pub бар екеніне көзіміз жетіп тұр
3. Енді ашық кілтті серверімізге жіберуіміз керек.
Ол үшін ssh-copy-id -i my_id.pub <user>@<ip> команданы орындайық
[root@cae .ssh]# ssh-copy-id -i my_id.pub root@192.0.0.3
Бұл жерде <user> орнына қолданушының атын (әдетте root) және <ip> орнына сервердің ip-мекенін енгізуіміз керек. Нәтижесінде сервер сіздің ашық кілтіңізді өзіне қосып, растау үшін сізден құпиясөз сұрайды. Құпиясөзді енгізіңіз.
4. Енді бәрі дайын. Тексеріп көрейік. Ол үшін ssh <ip> командасын терейік
[root@cae .ssh]# ssh 192.0.0.3
Егер бәрі дұрыс болса, онда серверге құпиясөз енгізбей ақ қосылып кетесіз