هیچوقت از PuTTY یا WinSCP بهخودیخود شکایت چندانی نداشتهام. PuTTY همچنان یکی از سادهترین راههای استفاده از SSH در Windows است و WinSCP نیز انتقال فایل را بسیار خوب انجام میدهد. دردسر از جایی آغاز میشود که از راه SSH به سرور وصل هستم، میخواهم فایلی را دریافت کنم و ناچارم برنامهٔ دیگری را باز کنم، دوباره همان مشخصات سرور را وارد کنم و سپس برای مرحلهٔ بعد سراغ فرمانی جداگانه برای هدایت درگاه بروم.
تازگی با Submarine آشنا شدم؛ کلاینت SSH با مجوز MIT که پایانه، مرورگر SFTP و هدایت درگاه را پیرامون همان سرور ذخیرهشده یکجا گرد میآورد. برای اینکه ببینم این یکپارچگی بیرون از فهرست قابلیتها هم به همان خوبی عمل میکند یا نه، دستگاهی با Ubuntu راه انداختم. پس از جابهجایی فایلها، ویرایش پیکربندیهای راهدور، تغییر مجوزها و برقراری تونل میان یک سرویس وب خصوصی و Windows، توانستم تمام این کارها را بیآنکه از Submarine بیرون بیایم انجام دهم.
اتصال SSH به مرکز همهچیز تبدیل شد
یک سرور ذخیرهشده، میزبان همهٔ ابزارهاست





Submarine برای Windows، macOS، Linux و Android عرضه شده و نسخهٔ Windows آن در قالب EXE یا MSI در دسترس است. نسخهای که در Windows آزمایش کردم امضای دیجیتال نداشت؛ بنابراین Windows ۱۱ پیش از اجرای نصبکننده، هشدار Microsoft Defender SmartScreen را نمایش داد. این رفتار در مستندات پروژه توضیح داده شده بود و میدانستم با چه چیزی روبهرو هستم، هرچند همین موضوع یادآوری میکند که Submarine هنوز پروژهای نسبتاً نوپاست.
Submarine در نخستین اجرا از شما میخواهد نمایهای با گذرواژه بسازید که همچون گاوصندوقی رمزگذاریشده، سرورها و اطلاعات ورود ذخیرهشده را نگه میدارد. پس از آن، افزودن دستگاه همان روال همیشگی SSH را دارد: نام میزبان، درگاه، نام کاربری و احراز هویت با گذرواژه یا کلید. اگر هنوز کلید SSH ندارید، میتوانید آن را در Windows و بدون نیاز به ابزار دیگری بسازید.
هنگام نخستین اتصال، پیامی برای تأیید اثر انگشت میزبان ED25519 ظاهر شد. خوشایند بود که این اثر انگشت با همان مقداری مطابقت داشت که OpenSSH ویندوز پیشتر نشان داده بود. پس از تأیید و ذخیرهکردنش، Submarine میزبان را در اتصالهای بعدی به خاطر سپرد و دیگر پرسشی مطرح نکرد.
پایانه تمام نیازهای معمول به PuTTY را برآورده کرد. میتوانستم چند پوسته را همزمان روی یک دستگاه باز کنم، با زبانهها میانشان جابهجا شوم، اتصال را قطع کنم و بعداً بدون ساختن دوبارهٔ آن از ابتدا، به کار بازگردم.
بخشهای SFTP و Ports در بالای همان فضای کاری سرور قرار دارند و از پیش به دستگاهی که با آن کار میکنم متصلاند. اگر میانهٔ نشست پوسته به فایل یا تونلی نیاز داشته باشم، همچنان با همان سرور ذخیرهشده کار میکنم و لازم نیست مشخصاتش را دوباره به برنامهای دیگر بدهم.
اگر فقط گاهی برای دسترسی از راه دور با SSH به یک Raspberry Pi وصل میشوید، PuTTY همچنان ابزاری کوچک و کاملاً مناسب است. Submarine زمانی بسیار جذابتر میشود که بازکردن پایانه معمولاً تنها نخستین گام کاری باشد که قصد انجامش را دارید.
انتقال فایل دیگر رشتهٔ کار را پاره نمیکند
مرورگر SFTP بیشتر کارهای روزمرهٔ WinSCP را انجام میدهد





بخش SFTP بیش از هر قابلیت دیگری مرا از رفتوآمد میان برنامهها نجات داد. نمای دوپنجرهای آن فایلهای محلی Windows و سامانهٔ فایل راهدور را کنار هم میگذارد و همزمان پایانهٔ SSH را نیز باز نگه میدارد. این چیدمان به شیوهٔ واقعی کار بسیار نزدیکتر است تا اینکه انتقال فایل را نشستی کاملاً جداگانه در نظر بگیریم.
بارگذاری و دریافت فایل را در هر دو جهت آزمایش کردم و روند انتقال درون پنل SFTP نمایش داده میشد. میتوانستم فایلی را از Windows بگیرم و در یکی از پوشههای Ubuntu رها کنم، سپس بیدرنگ در پایانهای که چند سانتیمتر آنطرفتر روی صفحه باز بود، نتیجه را بررسی کنم. دریافت فایل نیز در جهت عکس به همین سادگی انجام شد.
ابزارهای مدیریت فایل راهدور به رونوشتبرداری ساده محدود نیستند. Submarine امکان تغییر نام، جابهجایی، حذف، ساخت پوشه و بررسی ویژگیهای فایل را از درون مرورگر SFTP فراهم میکند. با ویرایشگر گرافیکی مجوزها، سطح دسترسی فایل راهدور server.conf را از 664 به 600 تغییر دادم و سپس فرمان stat را در پایانه اجرا کردم تا مطمئن شوم سرور تغییر را اعمال کرده است.
ویرایش از راه دور در نهایت به بخش محبوب من در کل روند کاری SFTP تبدیل شد. همان فایل پیکربندی را با گزینهٔ «ویرایش (بارگذاری خودکار)» در Submarine باز کردم؛ این گزینه رونوشتی موقت را به ویرایشگر همیشگی من در Windows سپرد. پس از افزودن چند خط و انتخاب «ذخیره»، Submarine نسخهٔ تغییریافته را بهطور خودکار بارگذاری کرد. اجرای cat در پوستهٔ کناری نشان داد که محتوای تازه از همان لحظه روی Ubuntu قرار گرفته است.
این مجموعه بخش بزرگی از کارهای روزمرهٔ سرور را پوشش میدهد. توسعهدهندهٔ وب میتواند بدون سردرگمی میان پنجرههای جداگانه، فایل پیکربندی را دستکاری کند؛ کاربر آزمایشگاه خانگی میتواند فایل Docker Compose را با کشیدن و رهاکردن انتقال دهد؛ و مسئول نگهداری VPS نیز میتواند بیآنکه ناچار باشد سراغ chmod برود، مجوزها را اصلاح کند—مگر اینکه خودش چنین بخواهد.
اگر روند کاریتان وابستگی زیادی به ابزارهای پیشرفتهتر WinSCP دارد، هنوز هم دلیلی برای استفاده از آن بهعنوان یک کلاینت اختصاصی انتقال فایل وجود دارد. WinSCP امکانات بسیار گستردهتری در اختیارتان میگذارد، بهویژه اگر به همگامسازی پیشرفته یا خودکارسازی متکی باشید. Submarine نیز برای پوشههای محلی و راهدورِ پرتکرار، قابلیت «همتاسازی پوشه» را با پایش تغییرات و رسیدگی به تداخلها ارائه میکند؛ بااینحال، برای کارهای معمول انتقال فایل که اغلب به WinSCP میسپارم، به چنین قابلیتی نیاز پیدا نکردم.
هدایت درگاه، آخرین قطعهای بود که نیاز داشتم
تنها چند کادر تا دسترسی به سرویس خصوصی فاصله بود





میخواستم مطمئن شوم که پنل درگاههای Submarine از پس کاری واقعی برمیآید و فقط قاعدهای ظاهراً معتبر برای هدایت درگاه نمیسازد. بنابراین، یک وبسرور کوچک پایتون را درون Ubuntu راه انداختم و آن را به 127.0.0.1:8765 مقید کردم. بهاینترتیب، سرویس بهجای آنکه از طریق نشانی معمول شبکهٔ دستگاه در دسترس قرار گیرد، روی رابط بازگشتی Ubuntu باقی ماند.
در Submarine، یک هدایت محلی ساختم که در Windows روی درگاه ۸۰۸۰ گوش میداد و ترافیک را از طریق SSH به 127.0.0.1:8765 در Ubuntu میفرستاد. پنل درگاهها نشان داد که تونل در حال شنود است و مسیر هدایت را نیز در گزارش ثبت کرد.
سپس با باز کردن localhost:8080 در Chrome، صفحهای که درون Ubuntu اجرا میشد بارگذاری شد.
این همان کار پایهای است که در حالت عادی با فرمان ssh -L یا یک تونل ذخیرهشده در PuTTY انجام میدادم. چنین کاربردی میتواند به همان اندازه برای صفحهٔ مدیریت پایگاه داده، پیشخوان پایش، سرور توسعه، رابط NAS یا هر سرویس دیگری باشد که نمیخواهید بهصورت عمومی در حال شنود باشد.
Submarine از هدایت راهدور و پویا نیز پشتیبانی میکند؛ بنابراین، هرگاه لازم باشد میتوانید معادلهای ssh -R و ssh -D را نیز از همان پنل مدیریت کنید. قواعد تونل زیر نمایهٔ سرور نگهداری میشوند و میتوان هریک را جداگانه آغاز یا متوقف کرد؛ روشی که بسیار بهتر از زیرورو کردن تاریخچهٔ پوسته برای یافتن فرمان هدایت دفعهٔ قبل است.
این برنامه افزون بر سه کاری که برای جایگزین کردنشان به سراغش آمدم، چند قابلیت جانبی دیگر هم دارد. پنل اطلاعات، وضعیت پردازنده، حافظه، فضای ذخیرهسازی، شبکه، درگاههای در حال شنود و سرویسها را نمایش میدهد؛ پنل Docker نیز مدیریت کانتینرها، گزارشها، آمار منابع و پوستههای تعاملی را بر عهده دارد. فرمانهای ذخیرهشده، یادداشتهای سرور و قابلیت «همتاسازی پوشه» هم مجموعه را کامل میکنند، بیآنکه رابط اصلی را شلوغ یا تحتالشعاع قرار دهند.
ترجیح میدهم همهچیزِ سرور یکجا باشد
Submarine قابلیت تازهای به SSH، SFTP یا هدایت درگاه نیفزود. پیشتر هم میتوانستم تکتک این کارها را با ابزارهای جاافتاده انجام دهم و هرکسی که پیکربندی مفصلی در WinSCP یا روند کاری بسیار ویژهای در PuTTY دارد، احتمالاً دلایل خوبی برای نگه داشتن آنها خواهد داشت.
آنچه مرا مجذوب کرد، گرد آمدن پایانه، فایلهای راهدور و تونلها پیرامون همان دستگاهی بود که از قبل با آن کار میکردم. سرور ذخیرهشده دیگر فقط نشانیای نبود که بارها به برنامههای گوناگون بدهم؛ بلکه به محیطی برای انجام کارهایم تبدیل شد. Submarine هنوز در نسخهٔ v0.x است و بستهٔ امضانشدهٔ ویندوزی نیز تا اندازهای نوپا بودنش را آشکار میکند، اما پایانه، مرورگر SFTP و مدیر تونل آن همین حالا هم تمام روندی را پوشش میدهند که معمولاً میان سه ابزار جداگانه تقسیم میکردم.
منبع: این مطلب ترجمه و بومیسازی مقالهای از MakeUseOf به قلم Oluwademilade Afolabi است. مشاهده مقاله اصلی