Ssh-keygen -t rsa স্বয়ংক্রিয় করুন যাতে এটি কোনও পাসফ্রেজের জন্য জিজ্ঞাসা করে না


164

আমাকে ssh-keygen -t rsaএকটি পাসওয়ার্ড দিয়ে স্বয়ংক্রিয় প্রয়োজন যেমন প্রম্পটে প্রবেশ করা উচিত।
আমি কীভাবে এটি শেল স্ক্রিপ্ট থেকে করতে পারি?

উত্তর:


230

পাসফ্রেজের জন্য অনুরোধ না করে একটি এসএসএইচ কী-পেয়ার তৈরি করতে আপনি নিম্নলিখিতটি করতে পারেন:

$ ssh-keygen -f id_rsa -t rsa -N ''

2
আমার জন্য কাজ! "পাসফ্রেজ প্রবেশ করুন (কোনও পাসফ্রেজের জন্য খালি নয়)"
গিথুব সর্বদা -N

4
RHEL 6 এ, আমি এই ত্রুটিটি পেয়েছি: " ssh-keygen: option requires an argument -- N" :(
অ্যান্থনি ও।

1
ঠিক আছে কারণ আমি dzdoএর সামনে কমান্ড ব্যবহার করেছি, তাই আমাকে লিখতে হয়েছিল:dzdo -i -u target_user ssh-keygen -f id_rsa -t rsa -N "''"
অ্যান্থনি ও।

1
এটি প্রদর্শিত হয় যে বিকল্পটি এবং ফাঁকা পাসফ্রেজ পৃথককারী স্থানটি -N ''উল্লেখযোগ্য। আমি জায়গা যোগ করার পরে এটি সফল!
GH05T

33

উইন্ডোজ ব্যবহার করে পাওয়ারশেল থেকে আপনার যদি এটি করতে হয় তবে:

ssh-keygen -f $Name -t rsa -N '""'

নোট আপনি যে গিট বিন ডিরেক্টরি আপনার পথে আছে তা নিশ্চিত করতে হবে:

$sshPath = "<path>\git\bin\"

$env:path += ";$sshPath"

এরপরে এটি পশগিতে ব্যবহারের জন্য এটি ঠিক:

Add-SshKey "<path>\.shh\KeyFilename"

এর জন্য ধন্যবাদ. বিটিডাব্লু, git\usr\binসঠিক দির।
majkinetor

4
এটি আমার পক্ষে কাজ করে না। আমি একটি ত্রুটি পেয়েছি "সংরক্ষণ কী" "মাইকি" ব্যর্থ হয়েছে: পাসফ্রেজ খুব ছোট (নূন্যতম চারটি অক্ষর) "। আমাকে ডাবল / একক উদ্ধৃতিগুলি স্যুইচ করতে হয়েছিল, যেমন ssh-keygen -f $Name -t rsq -N '""'
অ্যারন জেনসেন 21

1
অ্যারন জেনসেন আমার জন্য একই ঠিক করার জন্য ধন্যবাদ। আমি ব্যবহার করেছি'""'
ট্রেভর সুলিভান

অ্যারোন জেনসেন ধন্যবাদ! '""'একমাত্র বৈকল্পিক যা আমার পক্ষে কাজ করেছিল।
সোমনিয়াম

@ ড্যানিয়েল-লিটল আমি কোনও মডিউল পশজিট খুঁজে পাচ্ছি না, কেবল এই নামের সাথে আমি পশ-গিট খুঁজে পাই যা এই সেন্টিমিডলেট বলে মনে হয় না। এটির আর কোনও তথ্য?
জিম ২

18
$ ssh-keygen -f $HOME/.ssh/id_rsa -t rsa -N ''

এই উত্তরটি মূলত কপি এবং Shamoon দ্বারা উত্তর থেকে পেস্ট
oᴉɹǝɥɔ

@ oᴉɹǝɥɔ শামুনের উত্তরগুলি প্রাইভেট কী-এর জন্য স্পষ্টভাবে পথ নির্দিষ্ট করে না।
জিএমস্টার

11

2 টির উত্তর দেওয়ার জন্য কেবল একটি সংশোধন ... আমি আমার ওএলএল এবং আরএইচইএল সিস্টেমে ফাইলের নামটি id_rsa হওয়া উচিত id.rsa নয়।

সুতরাং কোনও ওএল বা আরএইচইএল সিস্টেমে কমান্ডটি হ'ল:

$ ssh-keygen -f id_rsa -t rsa -N ''

2
যতদূর আমি বুঝতে পেরেছি id_rsaএটি একটি আরএসএ কী এর ডিফল্ট ফাইলের নাম, সুতরাং আপনি যদি ডিফল্টটিতে আটকে থাকতে চান তবে আপনি স্পষ্টভাবে -fবিকল্পটি ব্যবহার করতে বাধ্য হবেন না ।
দানিদেমি

3
@ স্প্যানিডিমি যখন আপনি ঠিক বলেছেন যে এটি ডিফল্ট, -fবিকল্পটি নির্দিষ্ট করার একটি কারণ হ'ল আপনি এটি কোনও স্ক্রিপ্টে সম্পাদন করতে পারেন। পরবর্তী প্রম্পটটি অক্ষম করতে আপনি কেবল ডিফল্টটিকে পুনরায় নিশ্চিত করতে পারেন।
ত্রিস্তান রেড

9

কি সম্পর্কে :

ssh-keygen -q -t rsa -f ~/.ssh/id_rsa -N ''

যেমন উল্লেখ করা হয়েছে man ssh-keygen:

SYNOPSIS
     ssh-keygen [-q] [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] [-N new_passphrase] [-C comment] [-f output_keyfile]
(...)
      -q      Silence ssh-keygen.

(এটি openssh-clientডেবিয়ান 9.4 প্রসারিত প্যাকেজ সহ OpenSSH_6.7p1 Debian-5+deb8u4) :


আমার জন্য ধন্যবাদ ধন্যবাদ। (ওপেনএসএসএইচ_7..6 পিপি উবুন্টু -4বুন্টু ০.২)
ডেভিড ওয়েবস্টার

0

আমার একটি বাশ স্ক্রিপ্টে স্বয়ংক্রিয়ভাবে দরকার ssh-keygen কমান্ড এবং চূড়ান্ত উত্তর যা আমার পক্ষে ভালভাবে কাজ করে:

echo -e "\n" | ssh-keygen -N "" &> /dev/null

ইকো-কমান্ডটি -e "\ n" কে একটি এন্টার কী হিসাবে ব্যাখ্যা করে তবে পাসফ্রেজের সাহায্যে কাজ করে না। তারপরে অপশন -N "" (খালি পাসফ্রেজ) ব্যবহার করে পাসওয়ার্ডটি খালি হবে এবং কোনও কিছুর জন্য জিজ্ঞাসা করবে না। &> / dev / null 'stdout' এবং 'stderr' কে / dev / নাল প্রেরণ করবে তাই ডিসপ্লেটির মাধ্যমে কিছুই মুদ্রিত হয় না।


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