در این مستند در مورد یکی از روشهای ارتباط با استفاده از پروتکل ssh با نام Passwordless ssh (ارتباط ssh بدون نیاز به ورود پسورد – کلمه عبور- ) صحبت میکنیم.
این روش در زمانی که خواستار انجام فرآیندهایی بر فراز ssh به صورت اتوماتیک باشیم بسیار کاربرد دارد. البته استفاده از کلید به جای کلمه عبور سطح امنیت ارتباط را تا حد زیادی افزایش میدهد.
یکی از فرآیندهای مرسوم بر فراز ssh بکآپ اطلاعات میباشد که با این روش میتوانیم کل فرآیند را به صورت اتومات و بدون نیاز به وارد کردن کلمه عبور انجام دهیم.
در مرحله اول جفت کلیدهای عمومی و خصوصی ssh را به صورت زیر ایجاد میکنیم.
[root@AvidLearn ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Cgah/gY0b6+yhNeNBDv55bnxm7kR6poBQ0efF17l1BY root@AvidLearn
The key's randomart image is:
+---[RSA 2048]----+
| . . . ..o.E. |
| . o . o o o o |
|.o+ . o o .. |
|o.o* . |
| o*o+ . S |
|. +O.* + . |
|...o=.B . |
|.o. .+ + + |
| .o.o.o *o |
+----[SHA256]-----+
[root@AvidLearn ~]#
کلید خصوصی کلیدی است که در سمت مبدا نگهداری میشود و همانطور که از نام آن مشخص است لازم است در حفظ و محرمانگی آن دقت لازم را داشته باشیم.
در این مرحله کلید عمومی را روی سیستمی که میخواهیم بدون پسورد به آن ssh بزنیم به صورت زیر کپی میکنیم.
[root@AvidLearn ~]# ssh-copy-id root@1.2.3.4
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
/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
root@1.2.3.4's password:
Number of key(s) added: 1
Now try logging into the machine, with: "ssh 'root@1.2.3.4'"
and check to make sure that only the key(s) you wanted were added.
در نهایت تست ارتباط را به صورت زیر انجام میدهیم. چنانچه کارها به درستی انجام شده باشد ارتباط بدون وارد کردن پسورد انجام خواهد شد.
[root@AvidLearn ~]# ssh 1.2.3.4
Last login: Wed May 6 06:48:00 2020 from 1.2.3.3