مدیریت کلیدهای SSH
مدیریت کلیدهای SSH برای دسترسی امن به ابرکها در سرور ابری آروانکلاد.
مرور کلی
دستورهای ssh-key ابزارهایی برای مدیریت کلیدهای عموم ی SSH فراهم میکند که برای احراز هویت امن در سرورهای ابری استفاده میشوند. کلیدهای SSH جایگزینی امنتر برای رمزهای عبور سنتی هستند.
شناسهی مستعار (Alias): ssh
دستورها
۱. لیست کلیدهای SSH
نمایش لیست تمام کلیدهای SSH ثبتشده در حساب کاربری.
arvan iaas ssh-key list
شناسهی مستعار: ls
فلگها:
region--وr-: فیلتر بر اساس کد ریجن (مانندir-central1)az--وa-: فیلتر بر اساس دیتاسنتر (مانندir-central1-a)
مثال:
$ arvan iaas ssh-key list --region=ir-central1
خروجی (Output):
NAME FINGERPRINT AZ
my-laptop-key a1:b2:c3:d4:e5:f6:01:23:45:67:89:ab:cd:ef:01:23 ir-central1-a
production-key b2:c3:d4:e5:f6:01:23:45:67:89:ab:cd:ef:01:23:45 ir-central1-a
backup-key c3:d4:e5:f6:01:23:45:67:89:ab:cd:ef:01:23:45:67 ir-central1-b
۲. نمایش جزییات کلید SSH
نمایش اطلاعات دقیق دربارهی یک کلید SSH مشخص.
arvan iaas ssh-key show <ssh-key-name>
شناسهی مستعار: sh
آرگومانها:
ssh-key-name(اجباری): نام کلید SSH
مثال:
$ arvan iaas ssh-key show my-laptop-key
خروجی:
SSH KEY DETAILS
---------------
Name: my-laptop-key
Fingerprint: a1:b2:c3:d4:e5:f6:01:23:45:67:89:ab:cd:ef:01:23
AZ: ir-central1-a
Created: 2025-01-05T14:30:00Z
PUBLIC KEY
----------
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC8yN9xKzJ2... user@laptop
۳. افزودن کلید SSH
افزودن یک کلید SSH جدید به حساب کاربری.
arvan iaas ssh-key add <name>
آرگومانها:
name(اجباری): نام برای کلید SSH
فلگها:
public-key--وk-: محتوای کلید عمومیkey-file--وf-: مسیر فایل کلید عمومی (مانندssh/id_rsa.pub/~.)az--وa-: دیتاسنتر برای افزودن کلید (اجباری)
شما باید حتمن یکی از دو فلگ
public-key--یاkey-file--را وارد کنید.
مثال (با استفاده از مسیر فایل):
$ arvan iaas ssh-key add workstation-key --key-file=~/.ssh/id_rsa.pub --az=ir-central1-a
خروجی:
SSH KEY ADDED
-------------
Name: workstation-key
Fingerprint: d4:e5:f6:01:23:45:67:89:ab:cd:ef:01:23:45:67:89
AZ: ir-central1-a
SSH key added successfully!
You can now use this key when creating servers.
۴. حذف کلید SSH
حذف یک کلید SSH از حساب کاربری.
arvan iaas ssh-key delete <ssh-key-name>
شناسهی مستعار: del
آرگومانها:
ssh-key-name(اجباری): نام کلید SSH برای حذف
مثال:
$ arvan iaas ssh-key delete backup-key
خروجی:
SSH KEY TO DELETE
-----------------
Name: backup-key
Fingerprint: c3:d4:e5:f6:01:23:45:67:89:ab:cd:ef:01:23:45:67
AZ: ir-central1-b
Are you sure you want to delete SSH key 'backup-key'? (y/n) y
SSH key deleted successfully!
کار با کلیدهای SSH
ایجاد یک جفتکلید SSH جدید
اگر جفتکلید SSH ندارید، میتوانید با استفاده از دستور ssh-keygen آن را بسازید:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/arvan_rsa
با این دستور دو فایل ساخته میشود:
- کلید خصوصی (Private key):
ssh/arvan_rsa/~.(این فایل را در جای امن نگه دارید.) - کلید عمومی (Public key):
ssh/arvan_rsa.pub/~.(این فایل را در آروانکلاد آپلود کنید)
استفاده از کلید SSH در ساخت ابرک
هنگام ساخت ابرک، نام کلید SSH خود را مشخص کنید:
arvan iaas server create --name=web-server \
--flavor=g1-2-4 \
--image=img-ubuntu2204 \
--az=ir-central1-a \
--ssh-key=my-key
اتصال به ابرک
پس از ساخت ابرک با کلید SSH، به این روش متصل شوید:
ssh -i ~/.ssh/arvan_rsa ubuntu@<server-ip>
نام کاربری بر اساس سیستمعامل متفاوت است:
- Ubuntu/Debian:
ubuntu - CentOS/RHEL:
centosیاcloud-user - Fedora:
fedora
توصیههای امنیتی
- استفاده از کلیدهای قدرتمند: از کلیدهای RSA 4096 بیتی یا کلیدهای Ed25519 برای امنیت بیشتر استفاده کنید.
- کلیدهای منحصربهفرد: برای اهداف مختلف (مانند توسعه و عملیات) از کلیدهای متفاوت استفاده کنید.
- ذخیرهسازی امن: هرگز کلید خصوصی خود را به اشتراک نگذارید و دسترسیهای فایل آن را محدود کنید (
chmod 600). - نامگذاری مناسب: از نامهای توصیفی برای شناسایی راحت کلیدها استفاده کنید (مانند
prod-web-server). - جایگزینی دورهای: برای حفظ امنیت، کلیدهای خود را بهطور منظم تعویض (Rotate) کنید.
عیبیابی
- خطای Permission Denied (publickey):
- مطمین شوید از کلید خصوصی صحیح استفاده میکنید.
- بررسی کنید که کلید عمومی بهدرستی در آروانکلاد اضافه شده باشد.
- سطح دسترسی کلید خصوصی را بررسی کنید:
chmod 600 ~/.ssh/your_key.
- خطای Key Already Exists:
- نام هر کلید در یک دیتاسنتر باید یکتا باشد. نام دیگری انتخاب کنید یا کلید قبلی را حذف کنید.
- خطای Can't Read Key File:
- صحت مسیر فایل و دسترسی خواندن آن را بررسی کنید.
جدول دستورها
| دستور | شناسهی مستعار | توضیح | آرگومانها |
|---|---|---|---|
ssh-key list | ls | لیست تمام کلیدهای SSH | ندارد |
ssh-key show | sh | نمایش جزییات یک کلید خاص | <ssh-key-name> |
ssh-key add | - | افزودن کلید SSH جدید | <name> |
ssh-key delete | del | حذف یک کلید SSH | <ssh-key-name> |