SSH به موبایل اندرویدی (Termux) بدون نیاز به پسورد

متن SSH into android (Termux) Passwordless با رنگ سبز روی زمینه مشکی ماتریکسی

در این پست سعی می‌کنیم به گوشی اندرویدی خودمون SSH بزنیم. در SSH ما یک کلاینت و یک سرور داریم. در اینجا، تلفن (Termux) به عنوان سرور عمل می‌کنه. کلاینت می‌تونه هر سیستم کامپیوتری دیگری باشه. تو این پست من با لپ تاپ لینوکسی‌ام تستش کردم.

مرحله اول: نصب Termux

من Termux رو از F-Droid نصب کردم. طبق گفته Termux، نسخه موجود در Google Play دیگه پشتیبانی نمی‌شه و به‌روزرسانی‌ها رو دریافت نمی‌کنه.

مرحله دوم: ایجاد کلید

برای شروع فرآیند تولید کلید، دستور ssh-keygen را روی سیستم خود (کلاینت) اجرا کنید.

ssh-keygen -t rsa 

در هر مرحله Enter رو فشار بدید تا مراحل ساخت کلید انجام بشه و همچنین نیازی به تعیین رمز عبور برای کلید نیست.

اگر گفت فایل از قبل وجود داره، می‌تونید از کلید موجود خودتون استفاده کنید یا اون رو با یک کلید جدید جایگزین کنید.

حالا باید دو فایل id_rsa و id_rsa.pub در دایرکتوری ‎~/.ssh داشته باشید. id_rsa کلید خصوصی شما و id_rsa.pub کلید عمومی شما است.

اگر از سیستم عامل ویندوز استفاده می‌کنید، این لینک می‌تونه مفید باشه.

مرحله سوم: انتقال کلید از کلاینت به سرور (موبایل)

روش‌های مختلفی برای انتقال کلید عمومی وجود داره. اینجا ترجیح من انتقال دستی کلید عمومی است.

کلید عمومی شما در مسیر ‎~/.ssh/id_rsa.pub قرار داره. با دستور زیر می‌تونید اون رو مشاهده کنید:

cat ~/.ssh/id_rsa.pub 

تصویری از محیط ترمینال که در آن از دستور cat برای دیدن کلید عمومی استفاده کردیم

می‌تونید متن رو از طریق save message در شبکه‌های اجتماعی مثل تلگرام یا از طریق پیش‌نویس ایمیل (از اونجایی که یک کلید عمومی هستش، اشتراک‌گذاریش مشکل امنیتی ایجاد نمی‌کنه) انتقال بدید.

مرحله چهارم: نصب OpenSSH را روی Termux

از دستورات زیر استفاده کنید:

pkg upgrade
pkg install openssh

مرحله پنجم: کلید عمومی رو با Termux اضافه کنید

کلید عمومی که در مرحله سوم انتقالش دادید به گوشی رو در کلیپ بورد خودتون کپی کنید.

از دستور زیر برای اضافه کردن کلید به authorized_keys با استفاده از ویرایشگر متن nano استفاده کنید:

nano ~/.ssh/authorized_keys 

روی صفحه نگه دارید، کلید رو past کنید و با فشار دادن Ctrl + S و Ctrl + X به ترتیب فایل رو ذخیره کنید و از nano خارج بشید.

اگر مراحل رو به درستی دنبال کرده باشید، دستور cat ~/.ssh/authorized_keys در Termux باید کلید رو بهتون نمایش بده.

چند عدد اسکرین شات از نرم افزار termux که مراحل جا گذاری کلید عمومی را نشان می دهد

مرحله ششم: سرور SSH را با Termux اجرا کنید و IP و Name را دریافت کنید

می‌تونید سرور SSH را با دستور زیر اجرا کنید:

sshd 

برای پیدا کردن IP خود از دستور ifconfig و برای یافتن نام خود از دستور whoami استفاده کنید.

برای من آی‌پی 192.168.1.2 و اسمش u0_a202 هست.

مرحله هفتم: اتصال SSH از سمت کلاینت

در کلاینت خود، دستور رو بر اساس IP و Name خودتون بازنویسی کنید:

ssh -p 8022 u0_a202@192.168.1.2 

وقتی از شما پرسید

Are you sure you want to continue connecting (yes/no/[fingerprint])?‎

yes رو تایپ کنید.

اگر مراحل را به درستی دنبال کرده اید، باید متصل شوید و تصویر زیر را ببینید.

تصویری از محیط ترمینال که در آن ssh زدیم و همه چیز خوب کار می کند

یادداشت‌های اضافی




...