مدیریت کلیدهای 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> |