ایجاد اتصال SSH بدون Password
SSH Passwordless Login در پنج قدم
در این پست نحوه پیکربندی و ایجاد اتصال SSH بدون Password یا اصطلاحا Password-Less Login را بین دو سرور مرور خواهیم کرد. در این روش اتصال از طریق SSH Key انجام خواهد گرفت. از مزیت های این روش که اغلب بین سرور های Trust ایجاد می شود، می توان به راحتی تبادل فایل، پشتیبان گیری به صورت ریموت، مدیریت سرور مقصد به صورت ریموت و … اشاره کرد.
در محیطی این آموزش سرور مبدا و مقصد با مشخصات زیر می باشند.
سرور مبدا یا سروری که قرار است اتصال بدون Password از طریق آن انجام شود با آدرس 172.17.105.29
سرور مقصد که قرار است اتصال بدون Password به آن انجام پذیرد با آدرس 172.17.105.28
قدم اول :
اتصال به سرور مبدا و ایجاد یک جفت کلید عمومی از طریق دستور زیر، در اینجا من از نام کاربری root بین دو سرور استفاده میکنم و در صورت تمایل میتوانید از نام های کاربری دیگری غیر از root هم استفاده کنید.
[root@hamed-lab ~]# ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory '/root/.ssh'. 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: 0e:74:10:1c:b5:08:59:fb:e0:eb:7b:8a:d6:dd:34:6b root@hamed-lab The key's randomart image is: +--[ RSA 2048]----+ | .+=+. | | ...+ . | | = o | | o + | | o S | | + o | | ....o o | | .o. o E | | .. ++ . | +-----------------+
قدم دوم:
ایجاد دایکتوری ای با نام .ssh در Home Directory کاربر، در سرور مقصد که در اینجا ما این عمل را از طریق SSH و از سرور مبدا انجام می دهیم.
[root@hamed-lab ~]# ssh root@172.17.105.28 mkdir -p .ssh root@172.17.105.28's password:
قدم سوم
محتویات فایل id_rsa.pub که در مرحله اول ایجاد شده است باید در سرور مقصد ودر فایل authorized_keys و در مسیر ایجاد شده در مرحله قبل وارد شود.
[root@hamed-lab ~]# cat .ssh/id_rsa.pub | ssh root@172.17.105.28 'cat >> .ssh/authorized_keys' root@172.17.105.28's password:
قدم چهارم
بر اساس ورژن های مختلف SSH باید برای دایرکتوری و فایل ایجاد شده در سرور مقصد Permission های لازم را ایجاد کرد.
[root@hamed-lab ~]# ssh root@172.17.105.28 "chmod 700 .ssh ; chmod 640 .ssh/authorized_keys" root@172.17.105.28's password:
مرحله پنجم
اتصال بدون Password
اگر مراحل بالا به درستی انجام شده، از این به بعد اتصال به سرور مقصد از طریق کاربر root بدون Password انجام خواهد شد.
[root@hamed-lab ~]# ssh root@172.17.105.28 Last login: Mon Sep 18 21:57:13 2017 from 172.17.105.29 [root@localhost ~]# ifconfig eno16780032: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.105.28 netmask 255.255.255.128 broadcast 172.17.105.127 inet6 fe80::250:56ff:feba:16f2 prefixlen 64 scopeid 0x20<link> ether 00:50:56:ba:16:f2 txqueuelen 1000 (Ethernet) RX packets 734175 bytes 42688092 (40.7 MiB) RX errors 0 dropped 245 overruns 0 frame 0 TX packets 4779 bytes 790935 (772.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 10 bytes 964 (964.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 10 bytes 964 (964.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
امیدوارم مفید واقع شده باشد.