উইন্ডোজে এসএস কি-এর জন্য পাসফ্রেজের জন্য গিট প্রম্পট না করা যায় কীভাবে?


43

আমি গিট ব্যাশ ব্যবহার করছি এবং আমি এসএসএস-কীজেন ব্যবহার করে ssh কী সেটআপ করেছি এবং প্রতিবার একটি রেপো গিট দিয়ে কিছু করার জন্য আমাকে পাসফ্রেজের জন্য জিজ্ঞাসা করুন /c/Users/jankiewj/.ssh/id_rsa। সেই পাসফ্রেজটি অক্ষম করার কোনও উপায় আছে কি?


সার্ভারফল্টে এই পৃষ্ঠাটি সার্ভারফ্রন্ট

@ রেডো এটি সাহায্য করেনি।
jcubic

উত্তর:


56

আপনি এটি গিট ব্যাশে চালাতে পারেন:

eval `ssh-agent -s`
ssh-add ~/.ssh/*_rsa

এটি দ্বিতীয় কমান্ডের পাস বাক্যাংশের জন্য জিজ্ঞাসা করবে, এবং এটিই। প্রতিটি অতিরিক্ত ক্রিয়া যা আপনাকে করতে হবে (যা একবার পাস বাক্যাংশের প্রয়োজন পরে) আপনাকে পাস বাক্যাংশ জিজ্ঞাসা করবে না (নীচের স্ক্রিন শটটিতে একটি উদাহরণ দেখুন):

উইন্ডোজ গিট ব্যাশে পাস বাক্যাংশ যোগ


7
আমাকে আবার প্রবেশ করতে হবে, আমি গিট ব্যাশ বন্ধ করার সাথে সাথে ... কোনও স্থায়ী সমাধান আছে কি?
কালো

@ ব্লাক এটি প্রতি বাশ সেশন অনুযায়ী, আমি .bashrcপ্রতিবারই যখন গিট ব্যাশ খুলি তখন আমি প্রম্পটটি পাই এবং সেই সেশনের জন্য আমি প্রস্তুত হয়েছি।
jcubic

আপনি কি .bashrc এ ঠিক রাখেন? .Bashrc কোথায়?
কালো

সম্পাদনা করুন: কিছুই নয়, আপনাকে নিজের ফাইলটি তৈরি করতে হবে ~/.bashrcতারপরে আপনার পোস্ট থেকে লাইনগুলি এতে প্রবেশ করুন এবং এটি সংরক্ষণ করুন, এটিকে :) :) ধন্যবাদ!
কালো

উপরে লাইন ব্যবহার করে, বিশেষ করে এর পরিবর্তে .bashrc, আমি একটি স্ক্রিপ্ট ব্যবহার, এবং পারেন রাখুন হবে .bash_profileবা .profileএখানে আমার মূল অংশের একটি স্নিপেট রয়েছে .bash_profile, যে কেউ উত্তর খুঁজছেন তার পক্ষে এটি সমাধান করা উচিত; এটি নীচে একটি উত্তর অনুরূপ। স্ক্রিপ্টের শীর্ষে আমি আমার লোড করে রাখি .bashrc, যা যদি প্রযোজ্য না হয় তবে এটি ছেড়ে দিন। দ্রষ্টব্য: id_rsaআপনার প্রাইভেট এসএসএইচ কী হিসাবে আপনার নাম উল্লেখ করা হয়েছে এবং সেই পথের জন্য আপনাকে অবশ্যই রেফারেন্স পরিবর্তন করতে হবে ।
রকিন

9

কিছুটা ভাল এবং স্থায়ী সমাধান উইন্ডোতে গিট ব্যাশ খোলার সময় ssh-এজেন্টকে স্বয়ংক্রিয়ভাবে চালু করা। আপনি নীচে আপনার। প্রোফাইলে বা .bashrc এ অনুলিপি / পেস্ট করতে পারেন। আমি এটা করা পছন্দ .profile

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

এই সমাধানটি এই গিথুব সহায়তা নিবন্ধ থেকে নেওয়া হয়েছিল


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

কোডটি কোডের মধ্যে রেখে সমাধানটি সূক্ষ্মভাবে কাজ করে .bashrc। প্রথম বারে ssh পাসফ্রেজ প্রম্পট করা। আমার জীবন নিরাপদ। ধন্যবাদ.
বেন আসমুসেন

ধন্যবাদ যে আমার জীবন রক্ষা খুব।
gumuruh

এটি সত্যিকার অর্থে গ্রহণযোগ্য উত্তর হওয়া উচিত কারণ এটি এমন একটি সমাধান উপস্থাপন করে যা স্থির থাকে এবং আমার পক্ষে ওপি যা জিজ্ঞাসা করছিল তা আরও ভালভাবে মিলিত হয়।
রিচার্ড ডি

আমি যদি প্রারম্ভিক সময়ে ভুলক্রমে ভুল পাসওয়ার্ডটি টাইপ করি তবে আমি কী করব? সম্পাদনা করুন: superuser.com/a/271673/647110 এর ভিত্তিতে , আপনি ssh-add -Dসমস্ত কী মুছতে পারেন ।
নিলস গিলারমিন

1

আমি এটি সুপারিশ করতে চাই কিনা তা নিশ্চিত নই, আপনি যখন কী তৈরি করেন এবং পাসওয়ার্ড সেট করতে বলেন, কেবল প্রবেশ করুন এবং পাসওয়ার্ডটি এড়িয়ে যান।

কীভাবে ব্যবহার করবেন তার জন্য এই লিঙ্কটি একবার দেখুন ssh-keygen: https://help.github.com/articles/working-with-ssh-key-passphrases/

সম্ভবত ssh-agentআপনাকে কোনওরকম সাহায্য করতে পারে। তবে আপনার বর্তমান সিস্টেমটি না জেনে নিশ্চিত না।


4
অবশ্যই একটি ভাল উত্তর না
কেনট সলেস্তে

এটি উইন্ডোজ 10 এ সমাধান করার একমাত্র উপায় ছিল "" একটি নতুন এসএসএইচ কী তৈরি করা এবং এটি ssh-এজেন্টে "গিথুব গাইডের সমস্ত পদক্ষেপ অনুসরণ করার পরে, এটি সর্বদা আমাকে পাসফ্রেজের জন্য জিজ্ঞাসা করছিল। এটি যোগ করার পরেও। এই আচরণটি আমার মেভেন মোতায়েনের প্রবাহকে ভঙ্গ করছে কারণ mvn release:performপর্যায়ে এটি পাসফ্রেজ সরবরাহ না করে রিলিজ ট্যাগটি চেকআউট করার চেষ্টা করে। সুতরাং কেবল পাসফ্রেজ সাফ করা এই সমস্যার সমাধান করেছে।
ফার্নান্দো মিগুয়েল কারভালহো

-3

আপনার রেপো লোকেশনে এই গিট কমান্ডটি লিখুন " ssh-keygen -p " এটি আপনাকে কীফিলের অবস্থান, পুরানো পাসফ্রেজ এবং নতুন পাসফ্রেজ (যা কোনও পাসফ্রেজ না রেখে ফাঁকা রেখে যেতে পারে) প্রবেশ করতে অনুরোধ করবে। নতুন পাসওয়ার্ডে কিছু প্রবেশ করবেন না এবং এটি পাসফ্রেজ সরিয়ে ফেলবে


1
একটি ফাঁকা পাসওয়ার্ড রেখে যাওয়া নিরাপদ এবং অনেকগুলি কর্পোরেট ডেভস সীমাবদ্ধতার কারণে ফাঁকা পাসফ্রেজ রাখতে সক্ষম হবে না। এটি ওপেন ইস্যুটির সমাধান নয়, একটি খোঁড়া কাজ।
সিব্বলদান

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