ubuntu

تنظیم کلیدهای SSH در Ubuntu 20.04

SSH یا همان پوسته ایمن، پروتکل رمزگذاری شده است که برای اداره و برقراری ارتباط با سرور مجازی ها استفاده می شود. هنگام کار با سرور مجازی Ubuntu ، احتمال دارد بیشتر وقت خود را در یک بخش ترمینال متصل به سرور مجازی خود از طریق SSH بگذرانید.
در این راهنما ، ما روی تنظیم کلیدهای SSH برای نصب Ubuntu 20.04 تمرکز خواهیم کرد. کلیدهای SSH روشی آسان و مطمئن برای ورود به سرور مجازی شما فراهم کرده و برای همه کاربران توصیه می شود.
مرحله 1 – ایجاد جفت کلید
اولین قدم ایجاد یک جفت کلید در دستگاه کلاینت (معمولاً رایانه شما) میباشد:
$ ssh-keygen

به طور پیش فرض نسخه های اخیر ssh-keygen یک جفت کلید RSA ، 3072 بیتی ایجاد می کنند ، که برای بیشتر موارد استفاده به اندازه کافی ایمن است (میتوانید به صورت اختیاری از پرچم -b 4096 عبور کنید تا یک کلید بزرگتر 4096 بیتی ایجاد نمایید).
پس از وارد کردن دستور ، باید خروجی زیر را مشاهده کنید:
Output
Generating public/private rsa key pair.
Enter file in which to save the key (/your_home/.ssh/id_rsa):

Enter را فشار دهید تا جفت کلید را در زیردیرکتوری .ssh / در دیرکتوری هوم خود ذخیره کنید ، یا یک مسیر جایگزین را مشخص کنید.
اگر قبلاً یک جفت کلید SSH ایجاد کرده اید ، ممکن است اعلان زیر را مشاهده کنید:
Output
/home/your_home/.ssh/id_rsa already exists.
Overwrite (y/n)?

اگر تصمیم به بازنویسی کلید در دیسک دارید ، دیگر نمی توانید با استفاده از کلید قبلی ، تأیید اعتبار کنید. در انتخاب بله بسیار مراقب باشید ، زیرا یک روند مخرب است که قابل برگشت نخواهد بود.
سپس باید اعلان زیر را مشاهده کنید:
Output
Enter passphrase (empty for no passphrase):

در اینجا میتوانید به صورت اختیاری یک عبارت عبور مطمئن را وارد کنید ، که بسیار توصیه می شود. عبارات عبور برای جلوگیری از ورود کاربران غیرمجاز ، یک لایه امنیتی دیگر اضافه می کند. برای کسب اطلاعات بیشتر در مورد امنیت ، به آموزش ما در مورد چگونگی پیکربندی احراز هویت مبتنی بر کلید SSH در سرور مجازی لینوکس مراجعه کنید.
سپس باید خروجی مشابه زیر را مشاهده کنید:
Output
Your identification has been saved in /your_home/.ssh/id_rsa
Your public key has been saved in /your_home/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:/hk7MJ5n5aiqdfTVUZr+2Qt+qCiS7BIm5Iv0dxrc3ks user@host
The key’s randomart image is:
+—[RSA 3072]—-+
| .|
| + |
| + |
| . o . |
|o S . o |
| + o. .oo. .. .o|
|o = oooooEo+ …o|
|.. o *o+=.*+o….|
| =+=ooB=o…. |
+—-[SHA256]—–+

اکنون یک کلید عمومی و خصوصی دارید که می توانید از آن برای تأیید اعتبار استفاده کنید. مرحله بعدی قرار دادن کلید عمومی روی سرور مجازی خود میباشد تا بتوانید برای ورود به سیستم از تأیید اعتبار مبتنی بر SSH استفاده کنید.
مرحله 2 – کپی کردن کلید عمومی روی سرور مجازی Ubuntu
سریع ترین راه برای کپی کردن کلید عمومی خود در هاست Ubuntu ، استفاده از ابزاری به نام ssh-copy-id است. به دلیل سادگی ، این روش در صورت وجود بسیار توصیه می شود. اگر شناسه ssh-copy-id را در دستگاه کلاینت خود ندارید ، میتوانید از یکی از دو روش جایگزین ارائه شده در این بخش استفاده کنید (کپی کردن از طریق SSH مبتنی بر رمز عبور ، یا کپی کردن کلید به صورت دستی).
کپی کردن کلید عمومی با استفاده از ssh-copy-id
ابزار ssh-copy-id بصورت پیش فرض در بسیاری از سیستم عامل ها گنجانده شده است ، بنابراین احتمالا آن را در سیستم محلی خود در دسترس داشته باشید. برای کار با این روش ، باید از قبل دسترسی SSH به سرور مجازی مبتنی بر رمزعبور را داشته باشید.
برای استفاده از این ابزار ، هاست از راه دور را که می خواهید به آن متصل شوید و حساب کاربری که دسترسی SSH مبتنی بر رمز عبور به آن دارید را تعیین می کنید. این حسابی است که کلید عمومی SSH شما کپی می شود.
ترکیب به این صورت است:
$ ssh-copy-id username@remote_host

ممکن است پیام زیر را مشاهده کنید:
Output
The authenticity of host ‘203.0.113.1 (203.0.113.1)’ can’t be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

این بدان معنی است که رایانه محلی شما هاست از راه دور را تشخیص نمی دهد. اگر اولین بار است که به هاست جدید وصل می شوید. “yes” را تایپ کنید و ENTER را برای ادامه فشار دهید.
در مرحله بعد ، ابزار، حساب محلی شما را برای کلید id_rsa.pub که قبلاً ایجاد کردیم ، اسکن می کند. وقتی کلید را پیدا کرد ، رمز ورود به حساب کاربری از راه دور را از شما میخواهد:
Output
/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
username@203.0.113.1’s password:

گذرواژه را وارد کنید (تایپ شما برای اهداف امنیتی نمایش داده نمی شود) و ENTER را فشار دهید. این ابزار با استفاده از گذرواژه ای که ارائه داده اید ، به هاست از راه دور متصل می شود. سپس محتویات کلید ~ / .ssh / id_rsa.pub شما را در فایلی در دیرکتوری ~/.ssh هوم حساب کاربری از راه دور به نام authorized_keys کپی می کند.
باید خروجی زیر را مشاهده کنید:
Output
Number of key(s) added: 1

Now try logging into the machine, with: “ssh ‘username@203.0.113.1′”
and check to make sure that only the key(s) you wanted were added.

در این مرحله ، کلید id_rsa.pub شما در حساب راه دور بارگذاری شده است. می توانید به مرحله 3 بروید.
کپی کردن کلید عمومی با استفاده از SSH
اگر ssh-copy-id را در دسترس ندارید ، اما دسترسی SSH مبتنی بر رمز عبور به یک حساب کاربری روی سرور مجازی خود دارید ، می توانید کلیدهای خود را با استفاده از یک روش معمولی SSH بارگذاری کنید.
ما می توانیم این کار را با استفاده از دستور cat انجام دهیم تا محتوای کلید عمومی SSH را در رایانه محلی خود بخوانیم و از طریق اتصال SSH به سرور مجازی از راه دور اتصال برقرار کنیم.
از طرف دیگر ، می توانیم اطمینان حاصل کنیم که دیرکتوری ~ / .ssh وجود دارد و دارای مجوزهای صحیح تحت اکانتی است که ما از آن استفاده می کنیم.
سپس می توانیم محتویاتی را که به آن پیوند زده ایم را درون یک فایل به نام authorized_keys در این دیرکتوری وارد کنیم. ما از نماد >> تغییر مسیر برای افزودن محتوا به جای نوشتن آن استفاده خواهیم کرد. این به ما امکان می دهد بدون از بین بردن کلیدهای قبلی اضافه شده ، کلیدهایی را اضافه کنیم.
فرمان کامل مانند این است:
ممکن است پیام زیر را مشاهده کنید:
$ cat ~/.ssh/id_rsa.pub | ssh username@remote_host “mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys”

این بدان معنی است که رایانه محلی شما هاست از راه دور را تشخیص نمی دهد. اگر اولین بار است که به هاست جدید وصل می شوید. yes را تایپ کنید و ENTER را برای ادامه فشار دهید.
پس از آن ، از شما خواسته می شود رمزعبور حساب کاربری از راه دور را وارد کنید:
Output
username@203.0.113.1’s password:

پس از وارد کردن گذرواژه ، محتوای کلید id_rsa.pub شما در انتهای فایل authorized_keys حساب کاربری از راه دور کپی می شود. اگر موفقیت آمیز بود ، به مرحله 3 بروید.
کپی کردن کلید عمومی به صورت دستی
اگر دسترسی SSH مبتنی بر رمز عبور به سرور مجازی خود را ندارید ، باید مراحل فوق را به صورت دستی انجام دهید.
ما به طور دستی محتوای فایل id_rsa.pub خود را به فایل ~/.ssh/authorized_keys روی دستگاه از راه دور شما اضافه خواهیم کرد.
برای نمایش محتوای کلید id_rsa.pub ، این دستور را در رایانه محلی خود تایپ کنید:
$ cat ~/.ssh/id_rsa.pub

محتوای کلید را مشاهده خواهید کرد ، که باید چیزی شبیه به این باشد:
Output
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== demo@test

با استفاده از روش دیگری که در دسترس دارید ، به هاست راه دور خود دسترسی پیدا کنید.
پس از دسترسی به حساب کاربری خود در سرور مجازی راه دور ، باید اطمینان حاصل کنید که دیرکتوری ~ / .ssh وجود دارد. این دستور در صورت لزوم دایرکتوری ایجاد می کند یا در صورت وجود هیچ کاری انجام نمی دهد:
$ mkdir -p ~/.ssh

اکنون ، می توانید فایل authorized_keys را ایجاد کنید و یا تغییر دهید. می توانید مطالب مربوط به فایل id_rsa.pub خود را به انتهای فایل authorized_keys اضافه کنید و در صورت لزوم با استفاده از این دستور آن را ایجاد کنید:
$ echo public_key_string >> ~/.ssh/authorized_keys

در دستور فوق ، public_key_string را با خروجی دستور cat ~/.ssh/id_rsa.pub که بر روی سیستم محلی خود اجرا کرده اید ، جایگزین کنید. باید با ssh-rsa AAAA شروع شود …
سرانجام ، اطمینان خواهیم یافت که دیرکتوری ~ / .shsh و فایل authorized_keys مجموعه مجوزهای مناسب را دارند:
$ chmod -R go= ~/.ssh

این دستور به طور بازگشتی همه مجوزهای “group” و “other” را برای دیرکتوری ~ / .ssh / حذف می کند.
اگر برای تنظیم کلیدهای یک حساب کاربری از کاربر ریشه استفاده می کنید ، مهم است که دیرکتوری ~ / .ssh متعلق به کاربر باشد و نه ریشه:
$ chown -R sammy:sammy ~/.ssh

در این آموزش کاربر Sammy نامگذاری شده است اما باید نام کاربری مناسب را در دستور فوق جایگزین کنید.
اکنون می توانیم با سرور مجازی Ubuntu ، احراز هویت بدون رمز عبور را امتحان کنیم.
مرحله 3 – تأیید اعتبار برای سرور مجازی Ubuntu با استفاده از کلیدهای SSH
اگر یکی از روشهای فوق را با موفقیت انجام داده اید ، باید بتوانید بدون ارائه رمز ورود به حساب راه دور ، وارد هاست راه دور شوید.
فرایند پایه یکسان است:
$ ssh username@remote_host

اگر اولین بار است که به این هاست متصل می شوید (و در صورتی که از آخرین روش در بالا استفاده کردید) ، ممکن است چیزی شبیه به این را مشاهده کنید:
Output
The authenticity of host ‘203.0.113.1 (203.0.113.1)’ can’t be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

این بدان معنی است که رایانه محلی شما هاست از راه دور را تشخیص نمی دهد. “yes” را تایپ کرده و ENTER را برای ادامه فشار دهید.
اگر کلمه عبور برای کلید خصوصی خود ارائه نکرده اید ، بلافاصله وارد سیستم می شوید. اگر هنگام ایجاد کلید ، یک عبارت عبور را برای کلید خصوصی تهیه کرده باشید ، از شما خواسته می شود اکنون آن را وارد کنید (توجه داشته باشید که کلیدهایی گه فشار میدهید برای امنیت در بخش ترمینال نمایش داده نمیشوند). پس از تأیید اعتبار ، باید یک بخش پوسته جدید با حساب پیکربندی شده روی سرور مجازی Ubuntu باز شود.
اگر تأیید هویت مبتنی بر کلید موفقیت آمیز بود ، ادامه بدهید تا ببینید که چگونه با غیرفعال کردن احراز هویت رمز عبور ، امنیت بیشتری در سیستم خود داشته باشید.
مرحله 4 – غیرفعال کردن احراز هویت رمز عبور روی سرور مجازی خود
اگر توانستید با استفاده از SSH بدون پسورد وارد حساب کاربری خود شوید ، تأیید هویت مبتنی بر کلید SSH را با موفقیت پیکربندی کرده اید. با این حال ، مکانیسم تأیید اعتبار مبتنی بر رمز عبور شما هنوز فعال است ، به این معنی که سرور مجازی شما هنوز در معرض حملات خطرناک میباشد.
قبل از انجام مراحل در این بخش ، مطمئن شوید که احراز هویت مبتنی بر کلید SSH را برای حساب اصلی در این سرور مجازی پیکربندی کرده اید ، یا ترجیحاً احراز هویت مبتنی بر کلید SSH را برای یک حساب غیر ریشه با امتیازات sud در این سرور مجازی پیکربندی کرده اید. در این مرحله ورود به سیستم های مبتنی بر رمز عبور قفل خواهد شد ، بنابراین اطمینان از اینکه همچنان می توانید دسترسی ادمین داشته باشید بسیار مهم است.
هنگامی که تأیید کردید که حساب از راه دور شما دارای امتیازات ادمین است ، با کلیدهای SSH ، به صورت ریشه یا با یک حساب دارای امتیازات sudo وارد سرور مجازی راه دور خود شوید. سپس فایل پیکربندی Daemon SSH را باز کنید:
$ sudo nano /etc/ssh/sshd_config

در داخل فایل ، یک دستورالعمل با نام PasswordAuthentication را جستجو کنید. این خط ممکن است در ابتدا با یک # شروع شود. خط را با حذف # باطل کرده ، و مقدار را بر روی no قرار دهید. با این کار توانایی ورود به سیستم از طریق SSH با استفاده از گذرواژه های حساب غیرفعال می شود:
/etc/ssh/sshd_config
. . .
PasswordAuthentication no
. . .

پس از اتمام فایل را با فشار دادن CTRL + X ، سپس Y ذخیره کرده و آن را ببندید تا تأیید کنید که فایل ذخیره شود و درنهایت ENTER را برای خروج از nano وارد کنید. برای فعال کردن این تغییرات ، باید سرویس sshd را مجدداً راه اندازی کنیم:
$ sudo systemctl restart ssh

برای احتیاط ، قبل از بستن بخش فعلی خود ، یک پنجره ترمینال جدید باز کنید و آزمایش کنید که سرویس SSH به درستی کار می کند:
$ ssh username@remote_host

پس از تأیید صحت عملکرد سرویس SSH ، می توانید با اطمینان تمام بخش های فعلی سرور مجازی را ببندید.
اکنون SSH daemon در سرور مجازی Ubuntu شما فقط به احراز هویت مبتنی بر کلید SSH پاسخ می دهد. ورود به سیستم مبتنی بر رمز عبور غیرفعال شده است.
نتیجه
اکنون باید تأیید هویت مبتنی بر کلید SSH را روی سرور مجازی خود پیکربندی کنید که به شما اجازه میدهد بدون ارائه رمز ورود به حساب کاربری خود وارد شوید.
اگر می خواهید در مورد کار با SSH اطلاعات بیشتری کسب کنید ، به راهنمای ضروریات SSH نگاهی بیندازید.

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

نصب و پیکربندی Ansible در اوبونتو 18.04 – نصب MySQL در اوبونتو 18.04

نظارت بر سلامت سرور با Checkmk در اوبونتو – اجرای چند نسخه PHP بر روی یک سرور

نصب Nginx، MySQL، PHP در CentOS 7 –  نصب و پیکربندی Elasticsearch در اوبونتو 18.04

راه اندازی سرور اولیه با اوبونتو 20.04 – تنظیم کلیدهای SSH در Ubuntu 20.04

نصب و استفاده از PostgreSQL در اوبونتو 20.0 – نحوه نصب MySQL در اوبونتو 20.04

نصب Python 3 روی سرور Ubuntu 18.04 –  نحوه نصب Python 3 روی سرور Ubuntu 20.04

نصب Linux،Apache،MySQL،PHP LAMP در اوبونتو 20.04 –  نصب وب سرور Apache در CentOS 8

نحوه نصب Drupal با Docker Compose –  نحوه نصب Nginx در اوبونتو 20.04

7 مورد از اقدامات امنیتی برای محافظت از سرورهای شما –  نحوه نصب و ایمن سازی Redis در اوبونتو 20.04

نحوه نصب و ایمن سازی Redis در اوبونتو 18.04اضافه کردن فضای Swap در اوبونتو 20.04

چگونه می توان فایروال را با UFW در اوبونتو 20.04 تنظیم کردنظارت بر اطلاعیه و مسیر BGP با BGPalerter اوبونتو 18.04

نصب و ایمن سازی phpMyAdmin در اوبونتو 20.04  –  نصب و استفاده از Composer در اوبونتو 20.04

ریست کردن رمز ورود ریشه MySQL یا MariaDB –  استفاده از نوع داده MySQL BLOB برای ذخیره تصاویر

نصب Nginx در اوبونتو 18.04نصب توزیع Anaconda پایتون در اوبونتو 20.04

نحوه نصب جاوا با Apt در اوبونتو 18.04 –  نحوه نصب Django و تنظیم محیط توسعه در اوبونتو 16.04

نصب جنگو و تنظیم محیط توسعه در اوبونتو 20.04 – نحوه ایجاد سرور Minecraft در اوبونتو 18.04

نحوه راه اندازی یک پروژه Node با Typescript –  نحوه نصب و پیکربندی VNC در اوبونتو 18.04

ایجاد یک برنامه Django و اتصال آن به یک بانک اطلاعاتینصب و پیکربندی VNC در اوبونتو 20.04

نصب MariaDB در اوبونتو 20.04  –  فعال سازی و اتصال رابط کاربری Django

تنظیم پلتفرم Cloud IDE کد سرور را در اوبونتو 18.04پیکربندی Apache HTTP با رویداد MPM و PHP-FPM

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/