شده که وقتی می خوایم با SSH به یک سرور مجازی وصل بشیم با خطایی مثل این مواجه شدیم:
user@203.0.113.10: Permission denied (publickey).اولین نکته این است که معمولاً مشکل از اینترنت یا بسته بودن Port SSH نیست.
در این وضعیت Client توانسته به SSH Server برسد، اما مرحله Authentication موفق نشده است. به زبان ساده، Server کلیدی را که Client ارائه کرده پذیرفته نشده یا اصلاً کلید موردانتظار به Server ارائه نشد.
رایجترین علتها می تونن یکی از حالت های زیر باشد:
Username اشتباه است
Private Key اشتباهی استفاده میشود
Public Key برای همان User روی Server ثبت نشده
Permission یا Owner فایلهای
.sshاشتباه استPublic Key Authentication در SSH Server غیرفعال یا محدود شده
مسیر
authorized_keysتغییر کرده استتنظیماتی مثل
PermitRootLoginیاAllowUsersمانع Login شدهاند
اما بهتره که بهجای تغییر تصادفی تنظیمات، ابتدا مشخص کنیم خطا سمت Client است یا Server.
سریعترین ابزار برای این کار:
ssh -vvv user@SERVER_IPاست.
خطای Permission denied (publickey) دقیقاً یعنی چه؟
SSH قبل از ورود چند مرحله را پشت سر میگذارد.
به شکل ساده:
Client
│
▼
Network Connection
│
▼
SSH Handshake
│
▼
Authentication
│
├── Password
├── Public Key
└── Other Methods
│
▼
Loginوقتی به:
Permission denied (publickey)میرسید، معمولاً Network Connection و SSH Handshake انجام شدهاند و مشکل در Authentication اتفاق افتاده است.
این موضوع با خطاهایی مثل:
Connection refusedیا:
Connection timed outفرق دارد.
در آن خطاها ممکن است هنوز اصلاً به مرحله Authentication نرسیده باشید.
بنابراین اولین قانون اینه که :
برای رفع
Permission denied (publickey)ابتدا روی Authentication تمرکز کنید، نه Firewall و Network.
قدم اول: SSH را با حالت Verbose اجرا کنید
قبل از تغییر هر فایل یا Permission، یک بار اتصال را با جزئیات کامل اجرا کنید:
ssh -vvv user@SERVER_IPاگر Private Key مشخصی دارید:
ssh -vvv -i ~/.ssh/id_ed25519 user@SERVER_IPدر PowerShell ویندوز نیز میتوانید مثلاً بنویسید:
ssh -vvv -i "$env:USERPROFILE\.ssh\id_ed25519" user@SERVER_IPخروجی زیاد است، اما چند خط برای ما اهمیت ویژه دارند.
به Username واقعی نگاه کنید
در خروجی Verbose مشخص میشود SSH با چه Userی تلاش میکند Login کند.
اگر تصور میکردید با:
rootوارد میشوید، اما Config شما deploy را انتخاب کرده باشد، ممکن است Public Key در Account اشتباهی جستجو شود.
دنبال Offering public key بگردید
ممکن است خطی شبیه این ببینید:
Offering public key: ...این یعنی Client واقعاً آن Key را برای Authentication پیشنهاد داده است.
اگر Key موردنظر شما اصلاً در خطوط Offering public key دیده نمیشود، مشکل احتمالاً در سمت Client است.
مثلاً:
مسیر Private Key اشتباه است
Key توسط Agent بارگذاری نشده
SSH Config یک Identity دیگر مشخص کرده
Client اصلاً Key موردنظر را پیدا نمیکند
اگر Key ارائه میشود ولی پذیرفته نمیشود
اگر Client همان Key موردنظر را ارائه میکند ولی Login باز هم با:
Permission denied (publickey)تمام میشود، باید سمت Server را بررسی کنیم.
در این حالت یکی از موارد رایج اینهاست:
authorized_keys
Permissions
Ownership
Username
sshd_config
Access Rulesاین تقسیمبندی جلوی مقدار زیادی آزمون و خطای بیدلیل را میگیرد.
علت اول: با Username اشتباه وصل میشوید
این یکی از سادهترین و در عین حال رایجترین علتهاست.
فرض کنید Public Key در این فایل قرار دارد:
/home/deploy/.ssh/authorized_keysاما شما تلاش میکنید:
ssh root@SERVER_IPرا اجرا کنید.
SSH برای root کلیدهای مجاز Account deploy را بررسی نمیکند.
این دو Login کاملاً متفاوتاند:
root@serverو:
deploy@serverراهحل
Username صحیح VPS را مشخص کنید.
برای مثال:
ssh deploy@203.0.113.10بعضی Imageهای Cloud نیز User پیشفرض مشخصی دارند؛ بنابراین Username را از اطلاعات همان سرویس یا Image بررسی کنید و از حدس زدن آن خودداری کنید.
اگر از SSH Config استفاده میکنید، فایل زیر را نیز بررسی کنید:
~/.ssh/configمثلاً ممکن است داشته باشید:
Host production
HostName 203.0.113.10
User deploy
IdentityFile ~/.ssh/productionدر این صورت:
ssh productionاز User و Key تعریفشده در همان Config استفاده میکند.
علت دوم: Private Key اشتباهی استفاده میشود
اگر چند SSH Key روی کامپیوتر داشته باشید، ممکن است SSH کلیدی غیر از Key موردنظر شما را امتحان کند.
مثلاً:
id_ed25519
work_key
production_key
github_keyدر این شرایط بهتر است Key را صریح مشخص کنید.
در Linux و macOS:
ssh -i ~/.ssh/production_key user@SERVER_IPدر Windows PowerShell:
ssh -i "$env:USERPROFILE\.ssh\production_key" user@SERVER_IPبرای عیبیابی:
ssh -vvv -i ~/.ssh/production_key user@SERVER_IPرا اجرا کنید و بررسی کنید همان Key در خروجی Offering public key ظاهر شود.
چطور مطمئن شویم Private Key و Public Key متعلق به یک جفت هستند؟
اگر شک دارید Public Key نصبشده روی Server با Private Key فعلی شما متناظر است، میتوانید از Private Key یک Public Key استخراج کنید.
مثلاً:
ssh-keygen -y -f ~/.ssh/id_ed25519خروجی Public Key متناظر را نمایش میدهد.
حالا آن را با Public Key موجود روی Server مقایسه کنید.
همچنین برای مشاهده Fingerprint یک Public Key:
ssh-keygen -lf ~/.ssh/id_ed25519.pubاین روش مخصوصاً زمانی مفید است که Keyهای زیادی دارید و نام فایلها دیگر قابل اعتماد نیستند.
علت سوم: Public Key داخل authorized_keys نیست
در OpenSSH، Public Keyهای مجاز یک User معمولاً داخل:
~/.ssh/authorized_keysقرار میگیرند.
اگر برای User deploy وارد شدهاید:
cat ~/.ssh/authorized_keysرا بررسی کنید.
باید Public Key موردنظر را در یک خط ببینید؛ مثلاً:
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... user@computerاگر Key وجود ندارد، آن را اضافه کنید.
برای مثال:
nano ~/.ssh/authorized_keysو Public Key را بهصورت یک خط کامل اضافه کنید.
اگر از ssh-copy-id استفاده میکنید:
ssh-copy-id user@SERVER_IPنیز میتواند Public Key را برای User مقصد اضافه کند.
OpenSSH بهطور پیشفرض Public Keyهای مجاز User را از ~/.ssh/authorized_keys میخواند.
اشتباه مهم: Private Key را داخل authorized_keys نگذارید
فایل:
authorized_keysباید Public Key داشته باشد، نه Private Key.
Public Key معمولاً چیزی شبیه این است:
ssh-ed25519 AAAA...ولی Private Key معمولاً ساختاری شبیه این دارد:
-----BEGIN OPENSSH PRIVATE KEY-----
...
-----END OPENSSH PRIVATE KEY-----اگر چنین محتوایی را روی Server داخل authorized_keys قرار دادهاید، فوراً آن را حذف کنید.
و اگر Private Key در جایی غیرقابل اعتماد منتشر شده، بهتر است آن Key Pair را دیگر معتبر ندانید و یک Key جدید بسازید.
مطالعه پیشنهادی: آموزش ساخت SSH Key در ویندوز و اتصال امن به سرور لینوکس
علت چهارم: Permission فایلهای SSH اشتباه است
این یکی از مهمترین علتهای Permission denied (publickey) در Serverهای Linux است.
OpenSSH نسبت به Permission و Ownership فایلهای Authentication حساس است.
اگر فایل یا Directory توسط دیگر کاربران قابل تغییر باشد، sshd ممکن است برای جلوگیری از دستکاری Keyها آن را قبول نکند. مستندات OpenSSH نیز اشاره میکند که اگر Home، پوشه .ssh یا authorized_keys توسط کاربران دیگر قابل نوشتن باشد، در حالت StrictModes کلید میتواند رد شود.
برای User موردنظر، ابتدا وضعیت را ببینید:
ls -ld ~ ~/.ssh ~/.ssh/authorized_keysیک تنظیم رایج و امن:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysاست.
همچنین Home Directory نباید برای کاربران دیگر قابل Write باشد:
chmod go-w ~Ubuntu نیز در راهنمای رسمی OpenSSH تأکید میکند که کاربران دیگر نباید روی authorized_keys دسترسی نوشتن داشته باشند.
Ownership را هم بررسی کنید
Permission صحیح کافی نیست؛ Owner هم باید درست باشد.
مثلاً برای User:
deployبررسی کنید:
ls -ld /home/deploy/.ssh
ls -l /home/deploy/.ssh/authorized_keysاگر این فایلها اشتباهاً متعلق به root یا User دیگری باشند، آنها را برای User صحیح اصلاح کنید.
مثلاً:
sudo chown -R deploy:deploy /home/deploy/.sshاین Command را با Username واقعی خودتان جایگزین کنید و آن را روی مسیر اشتباه اجرا نکنید.
بعد دوباره:
ls -ld /home/deploy/.ssh
ls -l /home/deploy/.ssh/authorized_keysرا بررسی کنید.
چرا این مشکل زیاد اتفاق میافتد؟
یک سناریوی رایج این است:
sudo mkdir /home/deploy/.ssh
sudo nano /home/deploy/.ssh/authorized_keysچون دستورات با sudo اجرا شدهاند، ممکن است فایلها متعلق به root شوند.
در ظاهر Public Key در محل درست است، ولی Owner فایل با Userی که قصد Login دارد تطابق ندارد.
علت پنجم: Public Key Authentication در SSH Server غیرفعال شده
اگر به Console سرور یا Session دیگری دسترسی دارید، Effective Configuration سرویس SSH را بررسی کنید.
مثلاً:
sudo sshd -T | grep -i pubkeyauthenticationخروجی مورد انتظار معمولاً:
pubkeyauthentication yesاست.
PubkeyAuthentication مشخص میکند آیا Public Key Authentication اجازه دارد یا خیر و در OpenSSH بهطور پیشفرض فعال است.
همچنین مسیر Keyها را بررسی کنید:
sudo sshd -T | grep -i authorizedkeysfileممکن است چیزی شبیه:
authorizedkeysfile .ssh/authorized_keys .ssh/authorized_keys2ببینید.
اگر Administrator مسیر دیگری برای AuthorizedKeysFile تعیین کرده باشد، قرار دادن Key در مسیر پیشفرض ممکن است تأثیری نداشته باشد.
چرا بهتر است sshd -T را ببینیم؟
فقط خواندن:
/etc/ssh/sshd_configهمیشه تصویر کامل Configuration را نشان نمیدهد.
SSH ممکن است Configurationهای دیگری را از:
/etc/ssh/sshd_config.d/هم Include کند.
بنابراین:
sshd -Tبرای مشاهده بسیاری از تنظیمات Effective مفیدتر است.
اگر sshd_config را تغییر دادید، قبل از Reload آن را تست کنید
فرض کنیم تغییری در:
/etc/ssh/sshd_configیا:
/etc/ssh/sshd_config.d/ایجاد کردید.
قبل از Reload ابتدا Syntax را بررسی کنید:
sudo sshd -tاگر Command بدون خطا برگشت، Configuration از نظر Syntax معتبر است.
بعد در Ubuntu میتوانید:
sudo systemctl reload sshرا اجرا کنید.
هشدار مهم
اگر از راه دور به Server وصل هستید:
Session فعلی SSH را نبندید.
یک Terminal دوم باز کنید و Login جدید را تست کنید.
اگر Configuration اشتباه باشد، Session فعلی میتواند تنها راه باقیمانده شما برای اصلاح مشکل باشد.
علت ششم: Root Login محدود شده است
گاهی Key کاملاً صحیح است، اما فقط هنگام Login با root خطا میگیرید.
یکی از تنظیمات مهم SSH:
PermitRootLoginاست.
وضعیت Effective آن:
sudo sshd -T | grep -i permitrootloginممکن است مثلاً:
permitrootlogin noباشد.
در این حالت Login مستقیم Root مجاز نیست.
اگر:
prohibit-passwordباشد، Password Login برای Root محدود است ولی Public Key میتواند همچنان قابل استفاده باشد. جزئیات این رفتار در تنظیم PermitRootLogin توسط OpenSSH تعریف شده است.
اگر سیاست Server اجازه Root Login نمیدهد، بهجای تغییر عجولانه این تنظیم بهتر است با User معمولی وارد شوید:
ssh deploy@SERVER_IPو سپس در صورت نیاز:
sudo -iاستفاده کنید.
علت هفتم: User یا Group توسط SSH محدود شده است
SSH Server میتواند دسترسی Userها را با Ruleهایی مثل:
AllowUsers
DenyUsers
AllowGroups
DenyGroupsمحدود کند.
برای بررسی Configuration:
sudo grep -RniE '^(AllowUsers|DenyUsers|AllowGroups|DenyGroups)' /etc/ssh/sshd_config /etc/ssh/sshd_config.d/مثلاً اگر فقط این Userها مجاز باشند:
AllowUsers admin deployLogin با User دیگری حتی با Key صحیح ممکن است انجام نشود.
پس همیشه فرض نکنید مشکل از خود Key است.
یک روش سریع برای تشخیص سمت مشکل
اگر میخواهید بدون آزمون و خطای زیاد جلو بروید، این Flow را دنبال کنید.
ssh -vvv
│
▼
آیا Key موردنظر Offering میشود؟
│
┌─┴─────────────┐
│ │
نه بله
│ │
▼ ▼
Client را Server Key را
بررسی کن قبول میکند؟
│ │
│ ┌────┴────┐
│ │ │
│ بله نه
│ │ │
▼ ▼ ▼
Key path مشکل authorized_keys
Agent بعدی Permissions
Config را ببین Username
sshd_configبهصورت عملی:
اگر Key اصلاً Offering نمیشود
این موارد را بررسی کنید:
Private Key Path
IdentityFile
ssh-agent
SSH Config
-i optionاگر Key Offering میشود ولی رد میشود
این موارد را بررسی کنید:
Username
authorized_keys
Public Key
Ownership
Permissions
PubkeyAuthentication
AuthorizedKeysFile
Access Rulesاین دستهبندی سریعترین مسیر برای رسیدن به علت واقعی است.
Server Log را همزمان با Login مشاهده کنید
Client فقط نصف داستان را میبیند.
اگر دسترسی Console، Session قبلی یا User دیگری به Server دارید، Logهای SSH را هنگام تلاش برای Login مشاهده کنید.
در Ubuntu:
sudo journalctl -fu ssh.serviceسپس در سیستم Client دوباره Login کنید:
ssh user@SERVER_IPممکن است Log Server دلیل بسیار واضحتری نشان دهد؛ مثلاً:
Authentication refusedیا مشکلی درباره Ownership، Permission یا User.
Ubuntu برای Troubleshooting اتصال با SSH Key نیز مشاهده Live Log سرویس ssh.service را پیشنهاد میکند.
چطور بفهمیم Public Key Server همان Key ماست؟
روی Client Fingerprint Key خود را ببینید:
ssh-keygen -lf ~/.ssh/id_ed25519.pubاگر فقط Private Key دارید:
ssh-keygen -y -f ~/.ssh/id_ed25519 > /tmp/my-public-key.pub
ssh-keygen -lf /tmp/my-public-key.pubروی Server میتوانید Keyهای داخل authorized_keys را نیز بررسی کنید.
این روش برای Environmentهایی با تعداد Key زیاد بهتر از مقایسه چشمی رشتههای طولانی AAAA... است.
مشکل ssh-agent را بررسی کنید
اگر برای مدیریت Keyها از ssh-agent استفاده میکنید:
ssh-add -lرا اجرا کنید.
اگر Key موردنظر وجود ندارد:
ssh-add ~/.ssh/id_ed25519در Windows PowerShell نیز در صورت فعال بودن Agent:
ssh-add "$env:USERPROFILE\.ssh\id_ed25519"قابل استفاده است.
بعد دوباره:
ssh -vvv user@SERVER_IPرا اجرا کنید.
اما برای Troubleshooting اولیه، مشخصکردن صریح Key با -i معمولاً سادهتر است:
ssh -i ~/.ssh/id_ed25519 user@SERVER_IPاگر چند Key دارید، IdentitiesOnly کمک میکند
فرض کنید Agent شما تعداد زیادی Key دارد.
میتوانید به SSH بگویید فقط Key مشخصشده را امتحان کند:
ssh -o IdentitiesOnly=yes -i ~/.ssh/production user@SERVER_IPیا در ~/.ssh/config:
Host production
HostName 203.0.113.10
User deploy
IdentityFile ~/.ssh/production
IdentitiesOnly yesاین تنظیم برای Serverهایی که چند Identity مختلف دارید بسیار مفید است.
اگر Permissionها درست است ولی هنوز Key پذیرفته نمیشود
در این مرحله چند مورد پیشرفتهتر را بررسی کنید.
SELinux
روی Distributionهایی مثل AlmaLinux، Rocky Linux یا RHEL، Contextهای SELinux هم میتوانند روی SSH Key Authentication اثر بگذارند.
اگر فایلهای .ssh را دستی جابهجا یا Restore کردهاید، Contextها را بررسی کنید.
در صورت نیاز و با آگاهی:
restorecon -Rv ~/.sshمیتواند Context استاندارد مسیر را برگرداند.
این مرحله معمولاً برای Ubuntu لازم نیست.
الگوریتم قدیمی یا ناسازگار
اگر Client یا Server بسیار قدیمی باشد، ممکن است Algorithmهای پشتیبانیشده با یکدیگر سازگار نباشند.
در چنین شرایطی معمولاً Verbose Output پیام دقیقتری درباره Algorithm یا Signature نمایش میدهد.
بهجای فعالکردن Algorithmهای قدیمی و ضعیف بدون بررسی، ابتدا:
نسخه OpenSSH Client
نسخه Server
نوع Key
Algorithmهای مورد قبول
را مشخص کنید.
برای بیشتر Environmentهای جدید، Keyهای Ed25519 انتخاب مناسبی هستند.
خطای Permission denied با Connection refused فرق دارد
این دو خطا را با هم اشتباه نگیرید.
Permission denied
مثلاً:
Permission denied (publickey)معمولاً یعنی:
Server reachable ✓
SSH running ✓
Authentication failed ✗Connection refused
Connection refusedمیتواند نشان دهد:
SSH Service Down
Wrong Port
Firewall Reject
Service Not ListeningConnection timed out
Connection timed outبیشتر ما را به سمت:
Network
Routing
Firewall Drop
Wrong IP
Provider Filteringمیبرد.
بنابراین برای هرکدام مسیر Troubleshooting متفاوتی داریم.
مقاله بعدی این Cluster را به رفع خطای
Connection refusedدر SSH اختصاص میدهیم.
ترتیب پیشنهادی رفع Permission denied
برای اینکه وقتتان تلف نشود، به این ترتیب جلو بروید:
دستور زیر را اجرا کنید:
ssh -vvv -i PRIVATE_KEY user@SERVER_IPUsername را بررسی کنید.
مطمئن شوید Key موردنظر
Offeringمیشود.Public Key متناظر را در
authorized_keysبررسی کنید.Ownership را بررسی کنید.
Permissionهای
.sshوauthorized_keysرا اصلاح کنید.PubkeyAuthenticationوAuthorizedKeysFileرا باsshd -Tبررسی کنید.Ruleهایی مثل
PermitRootLoginوAllowUsersرا بررسی کنید.همزمان Log سرویس SSH را ببینید.
فقط پس از تشخیص علت Configuration را تغییر دهید.
[[IMAGE-4: چکلیست رفع Permission denied در SSH]]
چند Command کاربردی برای عیبیابی
Client
ssh -vvv user@SERVER_IPبا Key مشخص:
ssh -vvv -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 user@SERVER_IPمشاهده Fingerprint:
ssh-keygen -lf ~/.ssh/id_ed25519.pubKeyهای Agent:
ssh-add -lServer
بررسی فایلها:
ls -ld ~ ~/.ssh ~/.ssh/authorized_keysPermission:
chmod go-w ~
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysConfiguration مؤثر SSH:
sudo sshd -T | grep -Ei 'pubkeyauthentication|authorizedkeysfile|permitrootlogin'تست Syntax:
sudo sshd -tمشاهده Log:
sudo journalctl -fu ssh.serviceاین مجموعه Commandها معمولاً اطلاعات کافی برای پیدا کردن بخش بزرگی از خطاهای Public Key Authentication فراهم میکند.
اگر هیچ راهی برای ورود به Server نداریم چه کنیم؟
اینجا یک مشکل عملی داریم:
برای تعمیر:
authorized_keys
sshd_config
Permissionsباید به خود Server دسترسی داشته باشیم.
اگر همه Sessionهای SSH را بستهاید و هیچ User دیگری وارد نمیشود، باید از روش دسترسی خارج از SSH استفاده کنید؛ مثلاً Console یا Recovery Console ارائهدهنده VPS، در صورتی که سرویس شما چنین قابلیتی داشته باشد.
بعد مشکل را از داخل Server اصلاح کنید.
به همین دلیل هنگام تغییر SSH همیشه توصیه میکنیم:
Session فعلی را باز نگه دارید تا Login جدید را با موفقیت تست کرده باشید.
این کار ساده میتواند جلوی Lockout کامل را بگیرد.
جمعبندی
خطای:
Permission denied (publickey)به این معنی نیست که SSH خراب شده یا Server خاموش است.
در بیشتر موارد، اتصال تا مرحله Authentication پیش رفته اما Key موردنظر پذیرفته نشده است.
بهترین شروع این نیست که فوراً sshd_config را ویرایش کنید.
اول اجرا کنید:
ssh -vvv user@SERVER_IPو مشخص کنید:
آیا Client اصلاً Key درست را ارائه میکند؟
اگر نه، سمت Client را بررسی کنید.
اگر Key درست ارائه میشود ولی Server آن را رد میکند، سراغ این موارد بروید:
Username
authorized_keys
Ownership
Permissions
PubkeyAuthentication
AuthorizedKeysFile
PermitRootLogin
Access Rules
Server Logsدر بسیاری از موارد مشکل چیزی ساده مثل Username اشتباه، Private Key اشتباه یا Permission نادرست authorized_keys است.
و مهمتر از همه:
هنگام تعمیر SSH چند تنظیم را همزمان تغییر ندهید. یک تغییر انجام دهید، نتیجه را Verify کنید و بعد سراغ مرحله بعد بروید.
این روش هم سریعتر است، هم احتمال قطع کامل دسترسی به Server را کاهش میدهد.
سوالات متداول
خطای Permission denied (publickey) یعنی چه؟
یعنی SSH Client به Server رسیده اما Public Key Authentication موفق نشده است. Server کلید ارائهشده را نپذیرفته یا Client اصلاً Key موردانتظار را ارائه نکرده است.
اولین کار برای رفع این خطا چیست؟
اتصال را با حالت Verbose اجرا کنید:
ssh -vvv user@SERVER_IPو بررسی کنید Username صحیح است و Key موردنظر در خروجی Offering public key دیده میشود.
Permission مناسب authorized_keys چیست؟
یک تنظیم رایج:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keysاست. همچنین فایلها باید متعلق به User صحیح باشند و Home یا فایلهای Authentication نباید بهصورت ناامن توسط دیگران قابل تغییر باشند.
چرا Key روی Server وجود دارد ولی SSH آن را قبول نمیکند؟
ممکن است Public Key برای User دیگری باشد، Owner یا Permission فایل اشتباه باشد، مسیر AuthorizedKeysFile تغییر کرده باشد، Public Key Authentication محدود شده باشد یا Ruleهای SSH مانع Login همان User شوند.
چگونه Private Key صحیح را به SSH معرفی کنیم؟
با -i:
ssh -i ~/.ssh/id_ed25519 user@SERVER_IPو برای اطمینان از استفاده فقط از همان Identity:
ssh -o IdentitiesOnly=yes -i ~/.ssh/id_ed25519 user@SERVER_IPبرای دیدن علت خطا در سمت Server چه کنیم؟
در Ubuntu میتوانید:
sudo journalctl -fu ssh.serviceرا اجرا کنید و همزمان از Client دوباره Login را امتحان کنید.




