در این پست سعی میکنیم به گوشی اندرویدی خودمون 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
میتونید متن رو از طریق 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 باید کلید رو بهتون نمایش بده.
مرحله ششم: سرور 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 رو تایپ کنید.
اگر مراحل را به درستی دنبال کرده اید، باید متصل شوید و تصویر زیر را ببینید.
یادداشتهای اضافی
- اگر نیاز به توقف
sshd
دارید از دستورpkill sshd
استفاده کنید - برای دسترسی به فضای ذخیره سازی خود از دستور
termux-setup-storage
در Termux استفاده کنید (نیاز به مجوز فایل و رسانه) - ویدیوی مفید: الپیک ۱ - ۰۷۹ - ماجول ۱۱۰.۳ (۱/۳) - امن کردن سیستم از طریق رمزنگاری، مفهوم جفت کلید و کاربرد در ssh