উবুন্টু ১১.১০-তে, আমি পোর্ট ফরোয়ার্ডিংয়ের মধ্য দিয়ে যেতে পারার সময় আমি খুঁজে পেয়েছিলাম যে আমি এসএসএস কমান্ডগুলি ব্লক করতে পারি, -T এর সাথে এবং ছাড়াই প্রেরণ করেছি এবং স্কিপ কপিটি ব্লক করতে পারি।
বিশেষত আমার "হিমোস্ট" -র লোকালহোস্টের কাছে আবদ্ধ একটি পুনরায় সার্ভার রয়েছে: 79৩79৯ যে আমি এসএসএস টানেলের মাধ্যমে নিরাপদে ভাগ করে নিতে চাই অন্য হোস্টগুলিতে যা একটি কীফাইল রয়েছে এবং এর সাথে এসএসএস করব:
$ ssh -i keyfile.rsa -T -N -L 16379:localhost:6379 someuser@somehost
এটি redis-সার্ভারের ফলে, "লোকালহোস্ট" পোর্ট 6379 "সোহেম" পোর্টটি স্থানীয়ভাবে উপস্থিত হবে হোস্টে ssh কমান্ড কার্যকর করার জন্য, "লোকালহোস্ট" পোর্ট 16329 এ পুনরায় সেট করা হবে।
রিমোট "সামহোস্ট" এ আমি অনুমোদিত_কিজের জন্য যা ব্যবহার করেছি তা এখানে:
cat .ssh/authorized_keys (portions redacted)
no-pty,no-X11-forwarding,permitopen="localhost:6379",command="/bin/echo do-not-send-commands" ssh-rsa rsa-public-key-code-goes-here keyuser@keyhost
কোনও- pty বেশিরভাগ ssh প্রচেষ্টা ট্রিপ করে যা কোনও টার্মিনাল খুলতে চায়।
পারমিটোপেন ব্যাখ্যা করে যে কোন বন্দরগুলি ফরোয়ার্ড করার অনুমতি দেওয়া হয়েছে, এই ক্ষেত্রে বন্দরে 79৩79৯ রেডিস-সার্ভার পোর্টটি আমি ফরোয়ার্ড করতে চেয়েছিলাম।
কমান্ড = "/ বিন / ইকো-না-প্রেরণ-আদেশগুলি" প্রতিধ্বনিত করে "ডু-না-প্রেরণ-কমান্ডগুলি" প্রতিস্থাপন করে যদি কেউ বা কিছু হোস্টকে ssh -T এর মাধ্যমে কমান্ড প্রেরণ করতে পরিচালিত করে বা অন্যথায়।
সাম্প্রতিক উবুন্টু থেকে man sshd
, অনুমোদিত_কিজ / কমান্ডটি নিম্নরূপ বর্ণিত হয়েছে:
কমান্ড = "কমান্ড" সুনির্দিষ্ট করে যে যখনই এই কীটি প্রমাণীকরণের জন্য ব্যবহৃত হয় তখনই আদেশটি কার্যকর করা হয়। ব্যবহারকারী দ্বারা সরবরাহিত কমান্ড (যদি থাকে) উপেক্ষা করা হয়।
Scp সুরক্ষিত ফাইল অনুলিপি ব্যবহারের চেষ্টাগুলি "do-not-send-কম্যান্ডস" এর প্রতিধ্বনির সাথে ব্যর্থ হবে যা আমি খুঁজে পেয়েছি sftp এই কনফিগারেশনে ব্যর্থও হয়েছে।
আমি মনে করি কিছু পূর্ববর্তী উত্তরগুলিতে করা সীমাবদ্ধ শেল পরামর্শটিও একটি ভাল ধারণা। এছাড়াও, আমি সম্মত হই যে এখানে বর্ণিত সমস্ত কিছুই "ম্যান এসএসডিডি" পড়া এবং "অনুমোদিত_কিজ" অনুসন্ধান করার জন্য নির্ধারিত হতে পারে
no-pty
ইন্টারেক্টিভ সিওশন খোলার অনুমতি দেয় না এটি কমান্ড প্রয়োগ কার্যকর করতে বাধা দেয় না, তাই ব্যবহারকারীরauthorized_keys
যদি এমন কিছু দিয়ে অ্যাক্সেস থাকে তবে ফাইলটি সম্পাদনা করতে পারবেনssh server 'sed -i -e s/no-pty// ~/.ssh/authorized_keys'
।