কমান্ড লাইন থেকে সংজ্ঞায়িত শিরোনাম সঙ্গে ssh অধিবেশন খুলুন


0

আমি সঙ্গে পুষ্টি (কমান্ড লাইন থেকে) নির্বাহ সঙ্গে একটু সমস্যা আছে -m যুক্তি. এই সম্পর্কে আমাকে সাহায্য করুন, অথবা আপনি যদি জানেন একটি ভাল উপায় সুপারিশ :)

কমান্ড ("রান" থেকে):

putty -ssh user@machine -pw password -m C:\test.txt

"test.txt" কমান্ড:

PROMPT_COMMAND='echo -ne "\033]0;'$( ifconfig | head -2 | tail -1 | awk '{print $2}')'\007"'

সমস্যাটি:
এটা সেশন খোলে এবং তারপর সরাসরি বন্ধ

এটা কি মনে করে: সংজ্ঞায়িত শিরোনাম দিয়ে কমান্ড লাইন থেকে ssh অধিবেশন খুলুন

ধন্যবাদ।


আমি এখন এটি পরীক্ষা করার জন্য একটি এসএসএস আছে না derkeiler.com/Newsgroups/comp.security.ssh/2012-04/... "যদি আপনি চান উইন্ডোটি আপনার জন্য খোলা থাকে তবে 10 সেকেন্ডের অপেক্ষাের জন্য আপনার স্ক্রিপ্টের শেষে 10 নম্বরে বসুন। যদি আপনি শেলটি ব্যবহার করতে চান তবে শেষ শাইয়ে exec / bin / bash ব্যবহার করুন। superuser.com/questions/587629/... superuser.com/questions/385715/...
barlop

উত্তর:


1

আমি আপনাকে হিসাবে অনুরূপ কিছু করতে চেষ্টা বিশ্বাস করি এই উত্তর । কিন্তু জিনিসটি হল সার্ভারে ফাইল থেকে কার্যকর করা নমুনা কমান্ড।

তারা এম-সুইচ ব্যবহার করে চালানো কমান্ড (গুলি) হিসাবে পাস করা যাবে না। PUTY এই সুইচ অনুকরণ করা হয় লিনাক্স কমান্ড-লাইন এসএসএইচ ক্লায়েন্টের আচরণ:

ssh user@foo command

এই ভাবে ssh লগ একটি user উপরে foo সার্ভার, রান command সেখানে, এবং শুধু প্রস্থান। এম-পিটিওয়াই ঠিক একই জিনিস করছেন সঙ্গে মনে হচ্ছে।

আমার পরামর্শ

রিমোট সার্ভারে একটি স্ক্রিপ্ট প্রস্তুত করা এবং বিভিন্ন উপায়ে পুলটি কনফিগার করা। সর্বপ্রথম, লগ ইন করার পরে আপনি যে কমান্ডগুলি চালাতে চান তা দিয়ে একটি ফাইল তৈরি করতে হবে, এটি কল করুন .title

cat > ~/.title

তারপরে টাইপ করুন, অথবা আপনার যা প্রয়োজন সেখানে অনুলিপি করুন এবং পেস্ট করুন, পরে Ctrl + D টিপুন। এখন জন্য শুধু শিরোনাম সেটিং পরীক্ষা করা যাক:

echo -ne "\033]0;PuTTY\007"

আপনি এমনকি টার্মিনাল সরাসরি উপরে চেষ্টা করতে পারেন। PUTTY উইন্ডো শিরোনাম পরিবর্তন করা হয় না, আপনার বন্টন ইতিমধ্যে সেট করা হয় ডিফল্ট PROMPT_COMMAND পরিবর্তনশীল । আপনি টার্মিনালে নিম্নলিখিত কমান্ড কার্যকর করে নিশ্চিত করতে পারেন

echo $PROMPT_COMMAND
unset PROMPT_COMMAND
echo -ne "\033]0;PuTTY test\007"

চাবি বর্তমান মান আনসেট করা হয় PROMPT_COMMAND পরিবর্তনশীল। তারপর শেষ কমান্ড উইন্ডো শিরোনাম সেট করা উচিত PuTTY test

আমার সমাধান

যে আমার জন্য কাজ, সঙ্গে PUTTY একটি সেশান প্রস্তুত করা হয় GUI "রিমোট কমান্ড" বক্স সেট:

/bin/bash --rcfile ~/.title

শুধু এই সেশনের নাম প্রদান করতে মনে রাখবেন (উদাহরণস্বরূপ: সেশন নাম) এবং "সংরক্ষিত সেশন" তালিকার কাছাকাছি, পুটি সেটিংস এর প্রথম পৃষ্ঠায় "সংরক্ষণ করুন" বোতাম টিপুন :)

তারপর আপনি PUTY শুরু করতে এবং এই সেশন লোড করতে বলতে পারেন

putty -load SessionName -l user -pw password

হ্যাঁ, এটি দু: খিত, কিন্তু একটি সংরক্ষিত সেশনের জন্য "রিমোট কমান্ড" বক্সের সমান কোন কমান্ড-লাইন নেই। এজন্যই এই সব বাধা দূর করতে হবে :(

টিএল; ডিআর সংস্করণ

আপনি এই সমস্ত পদক্ষেপ সঠিকভাবে করছেন তা অনুমান করা, সবকিছু ঠিকঠাক কাজ করা উচিত:

  • সৃষ্টি ~/.title রিমোট মেশিনে স্ক্রিপ্ট
  • রিমোট কমান্ডের সাথে একটি অধিবেশন প্রস্তুত করুন যা বাশ চালায় যা কার্যকর হবে ~/.title
  • PUTTY ব্যবহারকারীর এবং পাসওয়ার্ড উল্লেখ, শুরু করার উপর প্রস্তুত সেশন লোড করতে বলুন

প্রো টিপ

কমান্ড লাইনের (এবং সম্ভবত স্ক্রিপ্টগুলিতে) পরিষ্কার পাঠ্যের পাসওয়ার্ডগুলি নির্দিষ্ট করার পরিবর্তে, আপনাকে SSH কীগুলি ব্যবহার করতে এবং উইন্ডোজ ট্রেতে 'পৃষ্ঠাটি' (পুটি প্রমাণীকরণ এজেন্ট) চালানো শিখতে হবে।


মহান প্রথম উত্তর। সুপার ব্যবহারকারী স্বাগতম।
Anthony Geoghegan

আমি রিমোট মেশিনে চলমান স্ক্রিপ্ট এড়াতে আশা করি, কিন্তু মনে হচ্ছে অন্য কোন উপায় নেই। যারা উত্তর দিয়েছেন তাদের জন্য ধন্যবাদ, আমি এখানে নতুন, তাই আমি এখনো ভোট দিতে পারছি না: এক্স
igor

0

আমি এখন এটি পরীক্ষা করার জন্য একটি এসএসএস আছে না http://www.derkeiler.com/Newsgroups/comp.security.ssh/2012-04/msg00005.html "আপনি যদি উইন্ডোটি আপনার জন্য খোলা রাখতে চান তবেও 10 সেকেন্ড অপেক্ষা করার জন্য আপনার স্ক্রিপ্টের শেষে 10 নল করুন। যদি আপনি শেলটি ব্যবহার করতে চান তবে exec /bin/bash শেষে. Shai "

কিছু অন্তর্দৃষ্টি প্রস্তাব যে দুটি অন্যান্য লিঙ্ক।

PTYTY: লগইন পরে একটি দূরবর্তী কমান্ড চালান & amp; শেল চলমান রাখা

লিনাক্স থেকে PUTTY শিরোনাম বারে কী দেখায় তা আমি কীভাবে চয়ন করব?

Barlop দ্বারা যোগ করা হয়েছে

নিম্নলিখিতটি পুটি ব্যবহার করা হয় না, এটি সাইগুইন মধ্যে openssh ব্যবহার করে a.a ফাইল প্রম্পট পরিবর্তন করতে ls বা কমান্ড থাকতে পারে। এটা স্থানীয়।

$ ssh 127.0.0.1 "cat | bash" < a.a

সম্পর্কিত, আমি শুধু পোস্ট উত্তর দেখুন - https://unix.stackexchange.com/questions/87405/how-can-i-execute-local-script-on-remote-machine-and-include-arguments/208952#208952


প্রথম সব, "exec / bin / bash" প্রকৃতপক্ষে সাহায্য করেছে। এখন, এটি সেশনটি বন্ধ করে না কিন্তু এটি "PROMPT_COMMAND = ..." চালানো হয় না যা আমি বর্ণনাতে লিখেছি। অদ্ভুত ব্যাপার এটা বিভিন্ন কমান্ডের সাথে কাজ করে। উদাহরণস্বরূপ: যদি "test.txt" হয়: "ls -a PROMPT_COMMAND = 'echo ... exec / bin / bash" সব কাজ কিন্তু PROMPT কমান্ড নয়
igor

@igor আপনি যদি execampT_COMMAND প্রয়োগের পরে কী করেন?
barlop

একই ফলাফল :( এটি ls -a প্রদর্শন করে (আমি শুধু উদাহরণের জন্য এটি গ্রহণ করেছি), কিন্তু PROMPT চালানো হয় না
igor

কমান্ড খোলা সেশনে কাজ করে বলে গুরুত্বপূর্ণ। আমি আপনাকে পাঠানো লিঙ্কটিতে প্রস্তাবিত "-t" দিয়ে চেষ্টা করেছি, কিন্তু দুর্ভাগ্যবশত একই ফলাফল।
igor

ঠিক আছে, আমি পরীক্ষা করার জন্য একটি মেশিনে ssh আছে .. এবং ./bin/bash বা exec / bin / bash ঠিক ধরনের ক্র্যাশ করে, এটি প্রম্পট প্রদর্শিত হওয়ার কারণ হয় না। আমি এখানে আমার "উত্তর" রাখব কারণ এটি অন্তত চেষ্টা করার জন্য কিছু ছিল, এবং হয়ত মন্তব্যগুলি কিছুের আগ্রহ হতে পারে।
barlop
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.