لینوکس با گوشی؛ Termux و اتصال SSH در اندروید و آیفون
در این درس ۴ بخش
برای تمرین خط فرمان همیشه به لپتاپ نیاز ندارید. در این درس دو مسیر مشخص میسازیم: اجرای ابزارها روی خود گوشی اندرویدی با Termux، و استفاده از گوشی بهعنوان صفحهکلید و نمایشگر یک رایانهٔ دیگر با SSH. نتیجهٔ مورد انتظار ساختن یک فایل کوچک و تشخیص محل اجرای فرمان است. تمرین محلی هزینهٔ خرید سرور ندارد؛ مسیر راهدور فقط هنگامی قابل اجراست که یک میزبان آزمایشگاهی و حساب مجاز در اختیار داشته باشید.
اول مشخص کنید فرمان کجا اجرا میشود
Termux بهصورت پیشفرض برنامهها را در محیط اندروید و با هستهٔ همان گوشی اجرا میکند. این محیط ابزارهای آشنایی مثل Bash و SSH دارد، اما نصب کامل اوبونتو نیست؛ مسیر فایلها، کتابخانهها و مدیریت بستههایش تفاوت دارد. اجرای موفق یک فرمان در Termux به معنی پشتیبانی گوشی از تمام درسهای مدیریت سرویسهای یک توزیع سروری نیست. در اتصال SSH، پردازش و فایلها روی میزبان مقصد قرار میگیرند. قطع اینترنت گوشی ممکن است ارتباط را قطع کند، ولی فایل ذخیرهشدهٔ مقصد را به گوشی منتقل نمیکند.
نصب معتبر و یک تمرین محلی در اندروید
برای این دوره Termux را از صفحهٔ رسمی آن در F-Droid یا بخش Releases مخزن termux/termux-app بگیرید. راهنمای فعلی پروژه برای بیشتر کاربران این دو مسیر را پیشنهاد میکند و نسخهٔ Google Play را شاخهای جداگانه و آزمایشی توضیح میدهد. برنامه و همهٔ افزونههایش باید از یک منبع باشند؛ مثلاً افزونهٔ GitHub را کنار برنامهٔ F-Droid نگذارید، چون امضای بستهها متفاوت است. این تمرین افزونه نمیخواهد. اگر قبلاً نصب دارید، پیش از تغییر منبع راهنمای پشتیبانگیری و حذف نصب پروژه را بخوانید؛ حذف برنامه میتواند دادههای محلی آن را پاک کند.
پس از بازشدن پوسته، فرمانهای زیر را بهترتیب اجرا کنید. دریافت و ارتقای بستهها اینترنت و فضای آزاد میخواهد؛ پرسشهای نصب را بخوانید. در Termux از pkg استفاده میکنیم و دستورهای نصب اوبونتو را به آن کپی نمیکنیم. هیچکدام از این مثالها به روتکردن اندروید یا اجرای sudo نیاز ندارد. نام پوشهٔ تمرین را اگر قبلاً برای اطلاعات شخصی استفاده کردهاید، عوض کنید.
pkg update
pkg upgrade
pkg install openssh nano
mkdir -p "$HOME/darsavand-mobile-lab"
cd "$HOME/darsavand-mobile-lab"
printf 'hello from my phone\n' > hello.txt
pwd
cat hello.txtانتظار دارید خط آخر hello from my phone باشد و pwd مسیری در فضای خصوصی Termux نشان دهد. این فایل هنوز در خود گوشی است. برای همین تمرین نیازی به اجازهٔ دسترسی به همهٔ عکسها و فایلهای مشترک ندارید. اگر نصب بسته شکست خورد، متن خطا و اتصال اینترنت را بررسی کنید؛ اجرای پیدرپی همان دستور بدون فهم خطا کمکی به تشخیص علت نمیکند.
اتصال از اندروید یا آیفون به میزبان آزمایشگاهی
Termius در فروشگاههای رسمی اندروید و iOS عرضه میشود. طبق صفحهٔ فعلی قیمتگذاری، طرح Starter رایگان و شامل SSH و SFTP است؛ امکاناتی مثل همگامسازی ابری میان دستگاهها در طرح پولی Pro قرار دارند. برای این درس اشتراک پولی لازم نیست. Blink Shell گزینهٔ اختیاری دیگری برای iOS و iPadOS است، اما راهنمای رسمی آن دورهٔ آزمایشی و سپس اشتراک را توضیح میدهد؛ آن را ابزار دائماً رایگان معرفی نمیکنیم. قیمت و محدودیتها را پیش از خرید در صفحهٔ رسمی و فروشگاه منطقهٔ خود بررسی کنید.
در برنامهٔ SSH، مشخصات میزبان آزمایشگاه، نام کاربری، پورت و روش ورود را وارد کنید؛ چینش صفحهها با نسخهٔ برنامه تغییر میکند. این برنامه بهخودیخود حساب لینوکسی یا سرور ایجاد نمیکند. نمونهٔ زیر برای کلاینت OpenSSH در Termux است. نام learner و نشانی lab.example.com صرفاً جاینگهدارند؛ آنها را با اطلاعات واقعی آزمایشگاه خود جایگزین کنید. در شبکهٔ خانگی نیز آدرس مقصد باید از گوشی قابل دسترسی باشد.
ssh -p 22 learner@lab.example.com
# After login: commands run on the remote host.
pwd
uname -s
exitدر اولین اتصال، اثرانگشت کلید میزبان را با مقداری که از کنسول قابل اعتماد همان ماشین یا مدیر آزمایشگاه دریافت کردهاید مقایسه کنید. تنها در صورت تطابق آن را بپذیرید؛ دریافت دوبارهٔ اثرانگشت از همان اتصال تأییدنشده، راه مستقلی برای احراز هویت نیست. اگر بعداً هشدار تغییر کلید دیدید، توقف کنید و علت را بررسی کنید؛ نصب مجدد میزبان یک علت ممکن است، اما حذف کورکورانهٔ سابقه یا خاموشکردن بررسی کلید راهحل آموزشی مناسبی نیست.
صفحهکلید و خودآزمایی
برای تایپ فرمانها صفحهکلید انگلیسی، خط تیرهٔ ساده و کوتیشن مستقیم به کار ببرید. Ctrl+C معمولاً فرمان جاری را متوقف میکند؛ Ctrl+D در پوستهٔ خالی میتواند نشست را ببندد و جایگزین عمومی دکمهٔ لغو نیست. Termux امکان شبیهسازی Ctrl با نگهداشتن کلید کاهش صدا را مستند کرده است؛ کلیدهای اضافه یا صفحهکلید فیزیکی نیز کمک میکنند. در سایر برنامهها بخش راهنمای کلیدهای ویژه را ببینید. برای توقف تمرین کوچک، ابتدا یک فرمان ساده مثل sleep 10 اجرا و سپس Ctrl+C را امتحان کنید.
تمرین: قبل و بعد از اتصال، pwd و uname -s را ببینید و کنار هر خروجی بنویسید «محلی» یا «راهدور». سپس توضیح دهید hello.txt کجا ذخیره شده است. پاسخ: اگر آن را در Termux و پیش از SSH ساختهاید، روی گوشی است؛ خروجی Linux بهتنهایی این تفاوت را ثابت نمیکند، چون اندروید هم از هستهٔ لینوکس استفاده میکند. پس از exit، دوباره فرمان محلی اجرا میشود. در آیفون این تمرین را روی میزبان راهدور انجام دهید و اجرای محلی Termux را انتظار نداشته باشید.
منابع رسمی انگلیسی و دریافت برنامهها: نصب Termux: https://github.com/termux/termux-app#installation ؛ F-Droid: https://f-droid.org/en/packages/com.termux/ ؛ محیط اجرا: https://github.com/termux/termux-packages/wiki/Termux-execution-environment ؛ کلیدهای Termux: https://github.com/termux/termux-tools/blob/master/doc/termux.1.md.in ؛ Termius اندروید: https://play.google.com/store/apps/details?id=com.server.auditor.ssh.client ؛ Termius آیفون: https://apps.apple.com/us/app/termius-modern-ssh-client/id549039908 ؛ طرحها: https://www.termius.com/pricing ؛ Blink: https://blink.sh/ ؛ بررسی کلید میزبان: https://man.openbsd.org/ssh#VERIFYING_HOST_KEYS
تألیف و مثالهای اختصاصی: تحریریه درسآوند. منابع انگلیسی برای بررسی مفاهیم و مطالعهٔ تکمیلی معرفی شدهاند.
متن درسهای عمومی را بدون ورود بخوانید.