একক কমান্ড এসএসএইচ লগইন এবং প্রোগ্রাম চালানোর জন্য?


58

দূরবর্তী সার্ভারে এসএসএইচ দিয়ে লগইন করতে এবং রিমোট লগইন শেলটিতে একটি প্রোগ্রাম চালানোর জন্য কি কোনও একক কমান্ড গঠনের উপায় আছে?

ওপেনএসএইচএইচ ম্যানুয়ালটিতে এটি লেখা আছে "যদি কমান্ড নির্দিষ্ট করা থাকে তবে এটি লগইন শেলের পরিবর্তে দূরবর্তী হোস্টে সম্পাদন করা হয়।" সুতরাং, উদাহরণস্বরূপ, ssh user@server mailদূরবর্তী সার্ভারে লগইন হবে, মেলবক্সের স্থিতি প্রদর্শন করবে এবং তারপরে আপনাকে স্থানীয় শেলটিতে ফিরিয়ে দেবে। মেল স্থিতি প্রদর্শন করার পরে কি রিমোট শেলটিতে থাকার কোনও উপায় আছে?

তদুপরি, ssh user@server [command]কমান্ডটি যদি কোনও প্রোগ্রাম হয় তবে কাজ করে বলে মনে হচ্ছে না, উদাহরণস্বরূপ vim বা mutt। প্রোগ্রামের সময় রিমোট শেলের মধ্যে থাকা অবস্থায় এবং প্রোগ্রামটি বেরিয়ে যাওয়ার পরে, দূরবর্তী শেলটিতে লগইন করে কোনও প্রোগ্রাম চালানোর কোনও উপায় কি কেবল শেষ অবধি নির্দিষ্ট logoutকমান্ডের (কেবলমাত্র একটি সাধারণ এসএসএইচ সেশনের মতো) বাইরে বেরিয়ে আসে ?

আমি অবশেষে স্থানীয় .bashrc এ একটি নাম হিসাবে একটি কমান্ড রাখতে সক্ষম হতে চাই, যাতে এটি যখন ইচ্ছা তখন দ্রুত চালানো যায়। উদাহরণ হ'ল এসএসএইচ এর মাধ্যমে রিমোট সার্ভারে লগইন করা এবং ইমেলটি পড়তে বা প্রেরণের জন্য রিমোট সার্ভারে মুট খোলা।


মেল স্থিতি প্রদর্শন করার পরে রিমোট শেলটিতে থাকার অর্থ কী? : না যে মেইল কমান্ড চলমান পরে একটি SSH করছেন সমতূল্য হবে ssh remote@server mail ; ssh remote@server? এছাড়াও যে কোনও দূরবর্তীভাবে কার্যকর করা কমান্ডের জন্য টার্মিনাল প্রয়োজন তা কি টিকবে না / ssh ডান থেকে কাজ করবে?
এম কে সি

ঠিক আছে, এটি কমান্ডটি চালানোর জন্য এবং তারপরে রিমোট শেলটি পেতে কাজ করে বলে মনে হচ্ছে তবে এটি একটি এসএসএইচ সংযোগটি খোলে এবং কমান্ডটি চালিয়ে এবং এসএসএইচ সংযোগটি বন্ধ করে এবং তারপরে অন্য এসএসএইচ সংযোগটি খোলার মাধ্যমে এটি করে। একক প্রথম সংযোগ দিয়ে এগুলি করার কোনও উপায় আছে কি? এছাড়াও, এটি এখনও প্রোগ্রাম চালানোর জন্য কমান্ডকে সক্ষম করে না।
ব্যবহারকারী981178

উত্তর:


90

আপনি কি চেষ্টা করেছেন ssh -t user@server "mail && bash"(বা bashআপনার পছন্দ মতো শেলটি প্রতিস্থাপন করেছেন)?

-tঅর্ডার ব্যাশ একটি ইন্টারেক্টিভ শেল হিসাবে ব্যবহার করার জন্য একটি সিউডো-TTY তৈরি করার জন্য প্রয়োজনীয়।


1
যদিও, আমি স্বীকার করব, আমি সম্ভবত muttএকটি tmuxবা এর অভ্যন্তরে দৌড়াতে পছন্দ করব screenএবং তারপরে আমি ইচ্ছে করে সংযুক্ত করে পুনরায় সংযুক্ত করতে পারি, পাশাপাশি আমি যতগুলি অতিরিক্ত শেল চালাতে পারি তা চালাতে পারি।
jsbillings

1
ঠিক আছে, আমি এই আদেশের সাথে বিভিন্ন আচরণ খুঁজে পাচ্ছি। উপরের হিসাবে ব্যবহৃত (উত্তরে), এটি এখনও কেবল মেলবক্সের স্থিতি প্রদর্শন করে এবং তারপরে লগ আউট করে তবে এখন সংযোগটি বন্ধ রয়েছে তাও প্রদর্শন করে। উপরের মতো ব্যবহৃত হয়েছে, তবে ন্যানোর সাহায্যে উদাহরণস্বরূপ, মেলের পরিবর্তে এটি একটি ন্যানো সেশন খোলে এবং প্রস্থান করার পরে রিমোট ব্যাশ শেলটিতে ফিরে আসে, যা এর exitপরিবর্তে প্রস্থান করতে হবে logout। আমি এখনও এটি মুট (বা অনুরূপ) দিয়ে পরীক্ষা করতে অক্ষম।
user981178

-tবিকল্পটি কি কোনও ধরণের সুরক্ষা উদ্বেগ তৈরি করে? আমি এর আগে ব্যবহার করিনি।
ব্যবহারকারী981178

যতদূর আমি জানি - এটি কোনও সুরক্ষা উদ্বেগের পরিচয় দেয় না। আপনি কি এর &&সাথে প্রতিস্থাপনের চেষ্টা করেছেন ;?
brm

শূন্য যুক্তির কারণে যে কোনও কমান্ড শূণ্য-বহির্গমন স্থিতি সহ প্রস্থান করে দ্বিতীয় কমান্ডটি চালিত হতে পারে না।
jsbillings
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.