হোস্টের সাথে সংযোগ করার সময় আমার পাসওয়ার্ডটি টাইপ না করতে আমি কীভাবে SSH সেট আপ করব?
~/.ssh/config
PubkeyAcceptedKeyTypes ssh-rsa*,ssh-dss*
হোস্টের সাথে সংযোগ করার সময় আমার পাসওয়ার্ডটি টাইপ না করতে আমি কীভাবে SSH সেট আপ করব?
~/.ssh/config
PubkeyAcceptedKeyTypes ssh-rsa*,ssh-dss*
উত্তর:
যদি আপনি জিনোম ব্যবহার করতে চান তবে সমুদ্রের অ্যাপ্লিকেশন ("পাসওয়ার্ড এবং এনক্রিপশন কী") এটি আপনার জন্য করতে পারে: ফাইল -> নতুন -> সুরক্ষিত শেল কী ।
আপনি যদি টার্মিনাল পছন্দ করেন, একটি কীপয়র তৈরি করতে চালান । বৈধ কিপায়ার প্রকারগুলি হ'ল:ssh-keygen -t <type>
প্রোগ্রামটি আপনাকে একটি পাসফ্রেজ এবং নতুন কীটি সংরক্ষণ করতে হবে এমন কোনও স্থানের জন্য জিজ্ঞাসা করবে । প্রস্তাবিত ডিফল্ট পাথ ব্যবহার করার পরামর্শ দেওয়া হয় কারণ অন্যান্য সমস্ত সরঞ্জাম সেখানে এটির জন্য অনুসন্ধান করবে।
আবার, সমুদ্রের ঘোড়াগুলি আপনার জন্য প্রায়শই এটি করতে পারে - আমার ব্যক্তিগত কীগুলিতে , আপনার এসএসএইচ কীতে ডান ক্লিক করুন এবং সুরক্ষিত শেলের জন্য কনফিগার কীটি চয়ন করুন ।
বা, ssh-copy-id -i ~/.ssh/id_rsa.pub remote-user@remote-host
টার্মিনালে।
অথবা, সম্পূর্ণরূপে ম্যানুয়ালি ধাপে ধাপে:
.ssh
দূরবর্তী হোস্টের দূরবর্তী ব্যবহারকারীর হোম ডিরেক্টরিতে নামের একটি ডিরেক্টরি তৈরি করুন (যদি এটি ইতিমধ্যে বিদ্যমান না থাকে) ।authorized_keys
(যদি এটি ইতিমধ্যে বিদ্যমান না থাকে)।umask
স্বাভাবিকের তুলনায় আরো উদার হয়, ফাইল নয় গ্রুপ-লিখনযোগ্য করুন: chmod go-w ~/.ssh ~/.ssh/authorized_keys
।~/.ssh/id_rsa.pub
) যুক্ত করে রিমোট ~/.ssh/authorized_keys
ফাইলটিতে অনুলিপি করুন।আপনি যদি নিজের ব্যক্তিগত কীটি কোনও এসএস এজেন্টে লোড করেন তবে এটি ডিক্রিপ্ট করা কী মেমোরিতে রাখবে। আমরা যখনই কোনও সার্ভারে শেল করব তখন পাসওয়ার্ডটি আবার প্রবেশ করা এড়াতে আমরা চাই।
প্রথমে এজেন্টটি শুরু করতে হবে বা একটি চালু হওয়া যোগাযোগ সকেটের পথটি একটি ভেরিয়েবলের মধ্যে লোড করা উচিত। টার্মিনালে ssh-এজেন্ট চালানো এজেন্ট ভেরিয়েবলগুলি নির্ধারণ এবং সেট করার জন্য কমান্ড তৈরি করবে। এই কমান্ডগুলি একটি ভিন্ন টার্মিনালে ব্যবহারের জন্য একটি ফাইলে সংরক্ষণ করা যায়। বিকল্পভাবে, এই কমান্ডগুলি চালাতে পারে এবং অন্য টার্মিনালে একই এজেন্টটিকে পুনরায় ব্যবহার করা ভুলে যেতে পারে। উদাহরণ: eval $(ssh-agent)
।
কীটি লোড করা কার্যকর করার ssh-add
এবং এটিকে পাস বাক্যাংশ দেওয়ার একটি সহজ বিষয় ।
আপনি যদি জিনোম ব্যবহার করে থাকেন তবে জিনোম-কিরিং-ডেমন সাধারণত এসএসএইচ এজেন্টের কার্যকারিতা সরবরাহ করে, তাই আপনাকে কিছু শুরু করার দরকার নেই। জিনোম লগইনে স্বয়ংক্রিয়ভাবে কীটি লোড এবং আনলক করবে।
যদি সবকিছু সঠিকভাবে করা হয়ে থাকে তবে ব্যবহার আপনাকে পাসওয়ার্ডের জন্য অনুরোধ করবে না। যদি এজেন্টের সাথে কিছু ভুল হয় এবং কীটি না থাকে তবে আপনাকে কীটির পাসের বাক্যাংশটি লিখতে বলা হবে, এবং ব্যবহারকারীর অ্যাকাউন্টের পাসওয়ার্ড নয়।ssh user@server
যোগাযোগের জন্য ssh ব্যবহার করা যে কোনও কিছুই এজেন্টে সঠিক কীটি লোড হওয়ার পরে ব্যবহারকারীর অ্যাকাউন্টের পাসওয়ার্ড প্রবেশ না করেই কাজ করবে। যেমন প্রোগ্রাম scp কমান্ড , SFTP এবং rsync এই ব্যবহার করতে।
id_dsa
পরিবর্তে id_rsa
, এবং ECDSA থাকবে id_ecdsa
।authorized_keys2
- তবে এটি ব্যবহারের ক্ষেত্রে 5.0 এর চেয়ে পুরানো কোনও কিছুই খুঁজে পাবেন না।lsh
, ssh.com
এবং অন্যান্য (ইউনিক্স এবং না) এসএসএইচ সার্ভারগুলি এই টিউটোরিয়ালে অন্তর্ভুক্ত নেই।দূরবর্তী হোস্টে সর্বজনীন কী অনুলিপি করা হচ্ছে:
ssh-copy-id -i ~ / .ssh / id_rsa.pub myaccount @ রিমোটহোস্ট # এটি বিড়াল ~ / .ssh / id_rsa.pub | ssh myaccount @ রিমোটহোস্ট \ 'এমকেডির -পি। / .এসএসএইচ; বিড়াল >> ~ / .ssh / অনুমোদিত_কিজ '# বা এটি
ssh-এজেন্ট> ~ / .ssh / ক্রস-টার্মিনাল-এজেন্ট । ~ / .Ssh / ক্রস টার্মিনাল-এজেন্ট
ssh-copy-id
যা লক্ষ্য হোস্টের কাছে সর্বজনীন কীটি অনুলিপি করে এবং স্বয়ংক্রিয়ভাবে অনুমতি সেট করে।
ssh-keygen -f ~/.ssh/id_rsa -N "";ssh-copy-id -i ~/.ssh/id_rsa username@server-ip-or-address
(কেবল প্রতিস্থাপন username@server-ip-or-address
)।
আপনি কী ইউনিক্সে আছেন, কোন ইউনিক্সের সাথে সংযোগ করছেন, কোন শেল আপনি ব্যবহার করছেন, কোন এসএসএইচ বৈকল্পিক আপনি ব্যবহার করছেন ইত্যাদি নির্দিষ্ট করে নেই; তাই এর কিছুটা সামান্য সামঞ্জস্য করার প্রয়োজন হতে পারে; এটি ওপেনএসএসএইচের যুক্তিসঙ্গত সাম্প্রতিক সংস্করণের উপর ভিত্তি করে তৈরি করা হয়েছে, যা প্রচুর ইউনিক্স রূপে ব্যবহৃত হয়।
এটি আপনার স্থানীয় ডেস্কটপ সিস্টেম থেকে।
ssh-keygen
কী-নেমটির জন্য ডিফল্ট ব্যবহার নিশ্চিত করুন। আমি আপনাকে পরামর্শ দিচ্ছি আপনি যে কি যে কী একটা পাসফ্রেজ সেট, অন্যথায় এটি একটি নিরাপত্তা সমস্যা হয়েছে। "-t rsa" একটি খারাপ ধারণা হবে না, তবে সম্ভবত এটির প্রয়োজন নেই।
ssh-copy-id username@server
এটি আপনাকে লগ ইন করতে যে পাসওয়ার্ডটি ব্যবহার করবে তার জন্য জিজ্ঞাসা করবে এবং আপনার জন্য অনুমোদিত_ কুকি জিনিস সেট আপ করবে। (এটি হাতে হাতে করার দরকার নেই)
তারপর এই:
`ssh-agent`
বা হতে পারে এটি:
exec ssh-agent sh
বা:
exec ssh-agent bash
এটি এমন একটি এসএসএইচ এজেন্ট শুরু করবে যা আপনার চাবিটি ধরে রাখতে পারে। অনেকগুলি আধুনিক ইউনিক্স ভেরিয়েন্টে, যদি আপনি গ্রাফিকালি লগইন করেন তবে এটি ইতিমধ্যে হয়ে গেছে। প্রথম বৈকল্পিক (ব্যাকটিক্স সহ) পটভূমিতে একটি এসএসএল-এজেন্ট রাখে এবং এর সাথে কথা বলার জন্য পরিবেশের ভেরিয়েবল সেট আপ করে। দ্বিতীয় দুটি এজেন্ট আপনার জন্য একটি শেল চালায়, যাতে আপনি যখন শেলটি থেকে বের হন, এজেন্টটি প্রস্থান করে।
অনেক আধুনিক ইউনিক্স রূপগুলি ইতিমধ্যে আপনার জন্য একটি এজেন্ট চলবে, বিশেষত যদি আপনি গ্রাফিকালি লগ ইন করেন। আপনি " ps aux | grep ssh-agent
" বা " ps -ef | grep ssh-agent
" চেষ্টা করতে পারেন ; যদি কিছু ইতিমধ্যে চলমান থাকে তবে এটি ব্যবহার করুন।
তারপরে, অবশেষে:
ssh-add
এটি একটি পাসফ্রেজ চাইবে; আপনি ssh-keygen দিয়েছিলেন এটি দিন। এটিকে গ্রাফিকভাবে জিজ্ঞাসা করার উপায় রয়েছে। এবং এটিকে স্বয়ংক্রিয় করতে আপনি ssh-এজেন্ট এবং ssh-add স্টাফগুলি আপনার লগইন স্ক্রিপ্টগুলিতে স্থাপন করতে পারেন (আপনার ব্যবহৃত শেলের উপর ভিত্তি করে সেটআপটি আলাদা) তবে কিছু ইউনিক্স রূপগুলি (বর্তমান উবুন্টু লিনাক্স, উদাহরণস্বরূপ) এর বেশিরভাগ স্বয়ংক্রিয়ভাবে করে, তাই আপনার সত্যিকারের যা করা দরকার তা হ'ল দূরবর্তী হোস্টে সেট আপ করতে একটি কী তৈরি করা এবং ssh-copy-id ব্যবহার করা।
এখন, " ssh username@server
" কোনও প্রমাণীকরণ না জিজ্ঞাসা করে কাজ করা উচিত। পর্দার আড়ালে, এটি একটি কী ব্যবহার করে যা ssh-এজেন্টটি ধারণ করে এবং এজেন্টকে এর জন্য যাদুতে স্বাক্ষর করার কৌশলগুলি করতে বলছে।
উইন্ডোজেও পিটিটিওয়াইতে এটি করা সম্ভব ।
একবার আপনার সর্বজনীন / ব্যক্তিগত কী জুটি সেট আপ হয়ে গেলে (অন্যান্য উত্তর হিসাবে এখানে দেখানো হয়) পুতুলজেন চালান। সেখানে, ইতিমধ্যে আপনি সেট আপ করা বিদ্যমান ব্যক্তিগত কীটি লোড করুন এবং তারপরে এটি একটি পিটিটিওয়াই প্রাইভেট কী (পিপিকে) হিসাবে সংরক্ষণ করুন।
তারপরে পিটিটিওয়াইতে, আপনি স্বয়ংক্রিয়ভাবে লগইন করতে চান এমন সংরক্ষিত সেশনে ক্লিক করুন এবং লোড ক্লিক করুন। এখান থেকে বাম অংশে সংযোগ -> ডেটাতে যান এবং সেই দূরবর্তী সার্ভারের জন্য ব্যবহারকারীর নাম "স্বতঃ-লগইন ইউজারনেম" টাইপ করুন:
এর পরে সংযোগ -> এসএসএইচ -> আউথে যান এবং পুট্টিজেনে আপনি যে পিপিকে করেছেন তা ব্রাউজ করুন:
তারপরে সেশন পৃষ্ঠায় ফিরে যান এবং আপনার আগে লোড হওয়া সেশনটি সংরক্ষণ করুন।
সার্ভারফল্টের একটি খুব অনুরূপ প্রশ্ন থেকে আমি ssh-copy-id ব্যবহার করার পরামর্শ দেব যা আপনার জন্য প্রমাণীকরণ কী সেট আপ করার সাথে জড়িত সমস্ত পদক্ষেপগুলি করে:
ssh-copy-id হ'ল একটি স্ক্রিপ্ট যা দূরবর্তী মেশিনে লগিন করতে ssh ব্যবহার করে (সম্ভবত লগইন পাসওয়ার্ড ব্যবহার করে, সুতরাং পাসওয়ার্ড প্রমাণীকরণ সক্ষম করা উচিত, যদি না আপনি একাধিক পরিচয়ের কিছু চালাক ব্যবহার করেন)
এটি গ্রুপ রিবেটিবিলিটি দূর করতে দূরবর্তী ব্যবহারকারীর বাড়ির, ~ / .ssh, এবং, / .ssh / অনুমোদিত_keys এর অনুমতিগুলিও পরিবর্তন করে (যা অন্যথায় আপনাকে লগ ইন করা থেকে বিরত রাখতে পারে, যদি রিমোট sshd এর কনফিগারেশনে স্ট্রিক্টমডস সেট থাকে)।
যদি -i বিকল্পটি দেওয়া হয় তবে আপনার এসএসএল-এজেন্টের কোনও কী আছে কিনা তা বিবেচনা না করে পরিচয় ফাইল (~ / .ssh / ઓળખ.pub এ ডিফল্ট) ব্যবহৃত হয়।
আপনার যা করতে হবে তা কেবল এই:
ssh-copy-id user@host
একবার আপনার পাসওয়ার্ড টাইপ করুন, এবং আপনি যেতে ভাল!
কীভাবে এসএসএস কী সেট করবেন সে সম্পর্কে আগেই বলা হয়েছে, আমি কীচেইনকে একটি এসএস-এজেন্ট কনসোল ফ্রন্ট্যান্ড হিসাবে প্রস্তাব দিচ্ছি যা আপনাকে প্রতি লগইন না করে কেবল সিস্টেম প্রসেসের জন্য একটি পরিচালনা করতে দেয়।
আমি জানি যে ইতিমধ্যে জিনোম এবং কে-ডি-ই সরঞ্জাম রয়েছে যা একই কাজ করে তবে আপনি যদি কনসোল জাঙ্কি টাইপ হন তবে এটি দুর্দান্ত (এবং বেশিরভাগ ইউনিক্স সিস্টেমে ব্যবহার করা যেতে পারে)।
এটি ব্যবহার করতে, কেবল আপনার ~/.bashrc
(অন্যান্য শেলের মতো) নিম্নলিখিতটিতে সংযোজন করুন :
if type keychain >/dev/null 2>/dev/null; then
keychain --nogui -q <all your SSH/PGP keys>
[ -f ~/.keychain/${HOSTNAME}-sh ] && . ~/.keychain/${HOSTNAME}-sh
[ -f ~/.keychain/${HOSTNAME}-sh-gpg ] && . ~/.keychain/${HOSTNAME}-sh-gpg
fi
http://linuxproblem.org/art_9.html
আপনার লক্ষ্য
আপনি আপনার কার্যগুলি স্বয়ংক্রিয় করতে লিনাক্স এবং ওপেনএসএইচ ব্যবহার করতে চান। অতএব আপনার হোস্ট বি / ব্যবহারকারী বি থেকে হোস্ট এ / ব্যবহারকারী এ থেকে একটি স্বয়ংক্রিয় লগইন প্রয়োজন। আপনি কোনও পাসওয়ার্ড প্রবেশ করতে চান না, কারণ আপনি শেল স্ক্রিপ্টের মধ্যে থেকে এসএসএস কল করতে চান।
আমি খুব খুব সংক্ষিপ্ত টিউটোরিয়ালটি লিখেছিলাম সত্যিই সত্যিই খুব হতাশ হওয়ার সাথে সত্যিই সত্যিই এত দীর্ঘ টিউটোরিয়াল কারণ এটি এত সহজ :)
test -f ~/.ssh/id_rsa.pub || ssh-keygen -t rsa #press enter twice if given prompts, then "ssh-add"
scp ~/.ssh/id_rsa.pub destID@destMachine:/tmp/ #type password
ssh destID@destMachine #type password
cat /tmp/id_rsa.pub >> ~/.ssh/authorized_keys
rm /tmp/id_rsa.pub
পুট্টির একটি -pw
বিকল্প রয়েছে যা আসুন আপনি এই জাতীয় ডেস্কটপে একটি শর্টকাট তৈরি করুন:
"C:\Program Files\PuTTY\putty.exe" -ssh user@192.168.2.2 -pw your_password
ssh-keygen
। (যদি এটি আপনাকে জানায় যে আপনাকে কোনও প্রকার নির্দিষ্ট করতে হবে, তবে করুন ssh-keygen -t rsa
)) এটি আপনাকে কোনও ফাইলের অবস্থানের জন্য জিজ্ঞাসা করলে, ডিফল্টটি নিন। যখন এটি আপনাকে একটি পাসফ্রেজ জিজ্ঞাসা করবে, কোনও পাসফ্রেজের জন্য এন্টার টিপুন।cat ~/.ssh/id_rsa.pub
(বা ডিফল্ট ফাইলের অবস্থানের যা কিছু ssh-keygen
ছিল, যদিও এটি আলাদা হওয়ার জন্য আপনার সত্যিকারের একটি পুরানো ssh
ইনস্টল থাকতে হবে); আউটপুটটি আপনার ক্লিপবোর্ডে অনুলিপি করুন।~/.ssh/authorized_keys
(যদি ~/.ssh
তা না থাকে তবে slogin
কোথাও কোথাও; ডান অনুমতি দিয়ে এটি তৈরি করার জন্য এটি সহজ, সহজ উপায়)। আপনার ক্লিপবোর্ডটি ( id_rsa.pub
অন্য হোস্টের সমন্বিত) এই ফাইলটিতে আটকান ।আপনি যদি লিনাক্সের টার্মিনালে এটি করতে চান:
হোস্টে
সিডি ~ / .এসএসএইচ /
ssh-keygen -t {rsa | dsa} -b {1024 | 2048 | 4096 C -C "কিছু মন্তব্য পাঠ্য চাইলে" -f id_ArbitraryName
In} আইটেমগুলি হ'ল বিকল্পগুলি, আরএসএ বা ডিএসএ ব্যবহার করুন এবং বিট আকারটি চয়ন করুন (আরও বেশি সুরক্ষিত)
তারপরে আপনার অনুমোদিত_কিগুলি এবং অনুমোদিত_কিস 2 ফাইলগুলিতে অনুমতিগুলি যুক্ত করতে হবে।
ক্যাট আইডি_আরবিট্রেইনাম.পব >> অনুমোদিত_কিজ
বিড়াল id_AribtraryName.pub >> অনুমোদিত_কাই 2
তারপরে আপনি যে বাক্সটি থেকে এসএসএস করতে চান তাতে id_AribtraryName ফাইলটি ডাউনলোড করুন। যদি সংযোগকারী বাক্সটি ইউনিক্স ভিত্তিক হয় তবে একটি কনফিগারেশন ফাইলের প্রয়োজন হতে পারে (পুটিতে, উপরে এটির উপরে থাকা কেউ)।
সংযোগ বাক্সে
আপনার কনফিগার ফাইলে - vim ~ / .ssh / config
হোস্ট উদাহরণ host.com # বা আপনার কম্পিউটারের নাম
ব্যবহারকারীর নাম
আইডেন্টিটি ফাইল। / .এসএসএইচ / আইডি_আরবিট্রেইনাম
কনফিগার ফাইলটি 600 এর অনুমতি প্রয়োজন SS এসএসএইচ ফোল্ডারের 700 টি দরকার।
আশা করি আপনি যদি কনফিগার ইস্যুটিতে প্রচুর বাদ পড়ে তবে এটি পরিচালনা করে।