সমস্যা সমাধান

এই পৃষ্ঠা Mobile SSH-এর সাধারণ সমস্যা এবং সার্ভার-সাইড SSH সেটিংস বদলানোর আগে চালানো প্রথম পরীক্ষাগুলো কভার করে।

সংযোগ করা যাচ্ছে না

পরীক্ষা করুন:

একই হোস্ট অন্য ডিভাইস থেকে কাজ করলে সঠিক হোস্ট, পোর্ট, ব্যবহারকারীর নাম, কী এবং নেটওয়ার্ক পথ তুলনা করুন।

প্রমাণীকরণ ব্যর্থ

পরীক্ষা করুন:

এনক্রিপ্ট করা প্রাইভেট কী-এর জন্য পাসওয়ার্ড/পাসফ্রেজ ফিল্ডে পাসফ্রেজ লিখুন।

প্রাইভেট কী ইমপোর্ট ব্যর্থ

প্রাইভেট কী ইমপোর্ট সিস্টেম ফাইল পিকার ব্যবহার করে। ইমপোর্ট ব্যর্থ হলে:

কীবোর্ড ইনপুট বিলম্বিত বা পরিবর্তিত

Mobile SSH অটোকারেক্ট ও পূর্বাভাস সাজেশন বন্ধ রেখে কীস্ট্রোক সরাসরি শেলে পাঠায়, তাই কীবোর্ডের রিমোট দিকে পৌঁছানোর আগে টেক্সট পুনর্লিখন করার কথা নয়। আপনার কীবোর্ড তবু ইনপুট বদলালে, নিশ্চিত করুন কোনো সিস্টেম-স্তরের প্রতিস্থাপন বা ক্লিপবোর্ড টুল তা আটকাচ্ছে না, এবং ESC, TAB, CTRL, তীর, HOME, END, PGUPPGDN-এর মতো টার্মিনাল কী-এর জন্য অতিরিক্ত কী সারি ব্যবহার করুন।

tmux স্ক্রলিং প্রত্যাশিত নয়

Mobile SSH টার্মিনাল অবস্থার উপর ভিত্তি করে স্ক্রল আচরণ বদলায়। tmux বা অন্যান্য বিকল্প-স্ক্রিন প্রোগ্রামে স্ক্রল অঙ্গভঙ্গি লোকাল ইতিহাস স্ক্রল না করে tmux কপি-মোড কমান্ড পাঠাতে পারে। tmux মাউস মোড সক্ষম থাকলে অ্যাপ মাউস-হুইল এস্কেপ সিকোয়েন্স পাঠায়।

স্ক্রলিং ভুল মনে হলে:

স্ক্রিন লক হওয়ার পর সেশন বিচ্ছিন্ন

Android-এ Mobile SSH বিচ্ছিন্নতা কমাতে keepalive, ফোরগ্রাউন্ড সার্ভিস, ওয়েক লক, Wi-Fi লক এবং পুনঃসংযোগ চেষ্টা ব্যবহার করে। Android ব্যাটারি নীতি তবু ব্যাকগ্রাউন্ড কাজ থামাতে পারে।

পরীক্ষা করুন:

iOS-এ সিস্টেম ব্যাকগ্রাউন্ডে অ্যাপ সাসপেন্ড করে, তাই অন্য অ্যাপে চলে গেলে বা স্ক্রিন লক করলে কাঁচা SSH সংযোগ অনির্দিষ্টকাল খোলা রাখা যায় না। একটি ছোট গ্রেস পিরিয়ড দ্রুত অ্যাপ পরিবর্তন কভার করে; এর চেয়ে দীর্ঘ কিছুর জন্য সার্ভার প্রোফাইলে Auto-attach tmux session সক্ষম করুন (বা Eternal Terminal ট্রান্সপোর্ট ব্যবহার করুন) যাতে পুনঃসংযোগ আপনাকে যেখানে ছিলেন সেই একই শেলে ফিরিয়ে নেয়।

ফাইল ট্রান্সফার ফোন ফাইল ব্রাউজ করতে পারছে না

Mobile SSH Android-এ কোনো স্টোরেজ অনুমতি চায় না। এর বদলে লোকাল প্যান সিস্টেমের ফোল্ডার পিকার দিয়ে আপনার দেওয়া একটিমাত্র ফোল্ডার দেখায় — ফাঁকা থাকলে Pick folder দিয়ে একটি ফোল্ডার বেছে নিন। অনুমতিটি টিকে থাকে, তাই এটি একবারের কাজ।

রিমোট ফাইল লোড হলেও লোকাল না হলে SSH সংযোগ ঠিকই আছে, আপনি কেবল এখনও কোনো ফোল্ডারের অনুমতি দেননি।

iOS-এ লোকাল প্যান অ্যাপের ডকুমেন্টস এলাকা দেখায়, এবং আপনি সিস্টেম ডকুমেন্ট ও ফটো পিকারের মাধ্যমে ফাইল যোগ করেন। সেখানকার ডাউনলোডগুলো Files অ্যাপেও On My iPhone-এর নিচে দেখা যায়।

আপলোড বা ডাউনলোড ব্যর্থ

পরীক্ষা করুন:

পোর্ট ফরওয়ার্ড ব্যর্থ

পরীক্ষা করুন:

ডিবাগ লগ

দুই প্ল্যাটফর্ম আলাদা আলাদা জিনিস রেকর্ড করে, তাই আপনার সমস্যার সঙ্গে যেটি মেলে সেটিই বেছে নিন।

Android — টার্মিনাল ও রেন্ডারিং। Settings → Debugging → Show Debug and Logs buttons সক্ষম করুন, তারপর স্টার্ট স্ক্রিনে যে Debug বোতামটি দেখা যায় সেটি ব্যবহার করুন। এটি টার্মিনাল ইভেন্ট, SSH ডেটার আকার, টাচ ইনপুট, রিসাইজ আচরণ এবং টানেল জীবনচক্র রেকর্ড করে। রেকর্ডিং শুরু করার আগে এটি সতর্ক করে দেয় যে আপনার টাইপ করা প্রতিটি কী, পাসওয়ার্ডসহ, এতে ধরা পড়ে। থামালে এটি আপনার Downloads ফোল্ডারে একটি আর্কাইভ লেখে।

iOS — সংযোগ ও পুনঃসংযোগ। Settings → Diagnostics → Record debug log চালু করুন। এটি রেকর্ড করে কোন কোন ঠিকানায় সংযোগের চেষ্টা হয়েছিল ও কেন ব্যর্থ হলো, পুনঃসংযোগের চেষ্টা ও তাদের ব্যাকঅফ, বিচ্ছিন্ন হওয়া সংযোগ, “peer stopped answering keepalives”, নেটওয়ার্ক পরিবর্তন, এবং tmux কমান্ড ও তাদের ত্রুটি। Settings একটি লাইভ লাইন গণনা দেখায় যাতে আপনি নিশ্চিত হতে পারেন এটি রেকর্ড করছে, আর Export Debug Log এটিকে একটি টেক্সট ফাইল হিসেবে শেয়ার করে। এটি মেমরিতে রাখা হয় এবং কেবল বর্তমান অ্যাপ সেশনটুকুই ধরে রাখে।

শেয়ার করার আগে যেকোনো ডিবাগ লগ বা আর্কাইভ পর্যালোচনা করুন। এগুলো সমস্যা সমাধানের জন্য এবং সার্ভারের নাম, ঠিকানা, সময় বা অন্যান্য পরিবেশ বিবরণ — আর Android-এ আপনি যা কিছু টাইপ করেছেন তা-ও — প্রকাশ করতে পারে।