উইন্ডোজ 7-এ পুটিটিওয়াই উত্পাদিত এসএসএইচ কী ব্যবহার করে গিথুবের সাথে সংযোগ স্থাপন করা


20

অন্যথায় প্রাথমিক উইন্ডোজ 7 এন্টারপ্রাইজ ইনস্টল করুন:

  1. পুটি 0.62 ইনস্টল করুন
  2. Puttygen.exe এর সাথে সর্বজনীন / প্রাইভেট কী জুড়ি তৈরি করুন
  3. গিথব অ্যাকাউন্টে ওপেনএসএসএইচ অনুমোদিত_কিগুলিতে আটকানোর জন্য সর্বজনীন কী যুক্ত করুন
  4. পেজেন্টে ব্যক্তিগত কী যুক্ত করুন
  5. নিম্নলিখিত বিকল্পগুলির সাথে msysgit 1.7.8 ইনস্টল করুন:
    • উইন্ডোজ কমান্ড প্রম্পট থেকে গিট ব্যবহার করুন
    • Plink.exe সংশোধন করার জন্য প্ল্যাক পয়েন্ট ব্যবহার করুন (কচ্ছপ) ink
  6. গিটিব ফিঙ্গারপ্রিন্টটি পুটিটিওয়াইতে গিথুব ডট কম এ সংযুক্ত করে এবং ফিঙ্গারপ্রিন্ট গ্রহণ করে জেনে_ হোস্টগুলিতে যুক্ত করা হয়েছে তা নিশ্চিত করুন
  7. ~/.ssh/configপড়তে সম্পাদনা করুন :

    Host github.com
        User git
        Hostname github.com
        PreferredAuthentications publickey
        IdentityFile ~\.ssh\github.ppk
    

ssh -vvvT git@github.comদেয়: http://pastebin.com/Tu3Fc6nJ । নোট করুন যে সফলভাবে প্যারাজেন্টে লোড হওয়া সত্ত্বেও আমাকে পাস-বাক্যাংশের জন্য অনুরোধ জানানো হচ্ছে।

আমি চেষ্টা করেছি: chmod 700 ~/.ssh; chmod 600 ~/.ssh/*গিট বাশের মধ্যে থেকে তবে যাচাই করা তেমন কোনও প্রভাব ফেলেনি ls -l

আমার নোট করা উচিত যে আমার পূর্ববর্তী উইন্ডোজ 7 ইনস্টলটিতে আমার এই সঠিক সেটআপটি ছিল। যতদূর আমি বলতে পারি সবকিছু অভিন্ন is

কাজটি কি গিট বাশের মধ্যে থেকে কী তৈরি করে। যাইহোক, আমি এই কীগুলি পেজেন্টে যুক্ত করতে পারি না, এটি একটি বিশাল ব্যথা। বাস্তবে, এটি দেখে মনে হয় যে পিটিটিওয়াই দ্বারা উত্পাদিত কীগুলি ব্যবহার করার যে কোনও প্রচেষ্টা ব্যর্থ।

লগগুলির উপর ভিত্তি করে এটিকে কাজ করা থেকে বাধা দেওয়ার কোন অন্তর্দৃষ্টি? আগাম ধন্যবাদ.


-vT দিয়ে, দয়া করে, কম ভার্বোসিটি স্তর
অলস ব্যাজার

উত্তর:


20

আপনি সম্পূর্ণ দুটি পৃথক প্রোগ্রামকে বিভ্রান্ত করছেন: পুটি এবং ওপেনএসএইচ।

  • plinkএবং পেজেন্ট পটিটির একটি অংশ। sshকমান্ড OpenSSH- র অংশ। গিটটি কোন প্রোগ্রামটি ব্যবহার করছে তা পরিষ্কার নয়; তার জন্য আপনাকে %GIT_SSH%পরিবেশের পরিবর্তনশীল পরীক্ষা করতে হবে ।

  • প্রোগ্রামগুলি বিভিন্ন এজেন্ট প্রোটোকল ব্যবহার করে; ওপেনএসএইচটি পিটিটিওয়ির পেজেন্ট ব্যবহার করতে পারে না; এটির নিজস্ব রয়েছে ssh-agent(যা দুর্ভাগ্যক্রমে উইন্ডোজটিতে ব্যবহার করা কিছুটা জটিল)।

  • পুটিটিওয়াই এবং plinkসেশন সেটিংস রেজিস্ট্রিতে সংরক্ষণ করুন, পুটটির ইন্টারফেসে সম্পাদনাযোগ্য। তারা কিছুই ব্যবহার করে না ~/.ssh/; এই ডিরেক্টরিটি কেবল ওপেনএসএসএইচ দ্বারা ব্যবহৃত হয়।

  • ওপেনএসএসএইচ এবং পুটিটিওয়াই দ্বারা ব্যবহৃত ব্যক্তিগত কী ফর্ম্যাটগুলি আলাদা; আপনি .ppkওপেনএসএইচ দিয়ে কোনও কী ব্যবহার করতে পারবেন না । আপনি যদি পিটিটিজাইনে কীটি উত্পন্ন করেন তবে আপনাকে এটির "এক্সপোর্ট → ওপেনএসএসএইচ" কমান্ডটি ব্যবহার করতে হবে।

    $ ssh -vvvT git@github.com
    OpenSSH_4.6p1, OpenSSL 0.9.8e 23 Feb 2007
    ...
    debug2: key_type_from_name: unknown key type 'PuTTY-User-Key-File-2:'
    

আমি পার্থক্য সম্পর্কে সচেতন এবং মূল পোস্টে নির্দেশিত হিসাবে, গিটটি ইনস্টল করার সময় প্লিংক ব্যবহার করতে সেট করা হয়েছে। আমি যাচাই করেছি যে এটি উপযুক্ত পরিবেশের পরিবর্তনশীলটিকে প্লিংক.এক্সইতে নির্দেশ করেছে। আমি পিটিটিওয়াই কীগুলি (এবং এটি অতীতে কাজ করেছে!) গিটের সাথে ব্যবহার করতে চাই এবং এটি যে প্লিংক ব্যবহার করা সত্ত্বেও এটি কাজ করছে না তা অদ্ভুত ...
রাদু

মূলত, এখনই আমি এটিকে ওপেনএসএইচ কীগুলির সাথে কাজ করতে পারি, তবে পুটি কীগুলির সাথে নয়। আমি পুটিটি পুনরায় ইনস্টল করার চেষ্টা করেছি এবং নতুন কী তৈরির চেষ্টা করেছি। টিটি সমস্যা বলে মনে হচ্ছে না। কোন ধারণা কি হতে পারে?
রাদু

1
@ রাদু: ওপেনএসএসএইচ plinkকী ফর্ম্যাটটি সমর্থন করে না। যদি আপনার সংস্করণটি করে, তবে এটি plinkআপনি ব্যবহার করছেন না; এটা অন্য কিছু।
মাধ্যাকর্ষণ

1
@ রাদু: এছাড়াও, মূল পোস্টটি আপনার দাবির বিপরীত ইঙ্গিত দেয়। প্রথমে PuTTYgen সঙ্গে একটি কী জেনারেট এবং নাট্যাভিনয় তা লোড কিন্তু তারপর আপনি কনফিগার OpenSSH- র সঙ্গে যান এবং "যে অভিযোগ sshনাট্যাভিনয় মধ্যে লোড হচ্ছে সত্ত্বেও পাস-ফ্রেজ জন্য অনুরোধ জানানো"। আপনি হয় দুটি প্রোগ্রাম বিভ্রান্তিকর।
মাধ্যাকর্ষণ

আমি কখনও বলিনি যে প্লিংক ওপেনএসএসএইচ সমর্থন করে - গিট ব্যাশ, যদিও, ডিফল্টরূপে এটি ওপেনএসএইচ ব্যবহার করে। ফিরে পড়া, আপনি সঠিক, আপনি যেহেতু বলেছিলেন, আমি বিভ্রান্তিকর বিষয়গুলি করছি, ~/.ssh/configপিটিটিওয়াই ব্যবহার করে না। তবে, আমি আবারও বলতে চাই যে জিআইএসএসএসএইচ প্লিংকে নির্দেশ করা হয়েছে, এবং আমি যদি ওপেনএসএইচ-এর জন্য এসএসআই কনফিগারেশন ফাইলটি পরিবর্তন করি তবে গিথব-এ সংযোগের চেষ্টা করার সময় পরিবর্তনগুলি প্রতিফলিত হবে। মূলত, আমি বিশ্বাস করি যে GIT_SSH এনভায়রনমেন্ট ভেরিয়েবল উপেক্ষা করা হচ্ছে এবং আমি মনে করি এটি আমার ওএসের সাথে নির্দিষ্ট কিছু। আমি আগামীকাল একটি নতুন চিত্র চেষ্টা করব।
রাদু

20

এসএসএইচ প্রমাণীকরণের জন্য পুটির প্লিংক অ্যাপ্লিকেশনটি ব্যবহার করে উইন্ডোজের জন্য গিট সেটআপ পেতে আমি একটি ধাপে ধাপে গাইড রেখেছি।

নীচে বরাবর অনুসরণ করুন:


সেটআপ

  1. পুটিটি জাইপ ইনস্টল করুন যা পুটিটি ডাউনলোড পৃষ্ঠায় পাওয়া যায় বা আপনি স্বতন্ত্রভাবে ডাউনলোড করতে পারেন।

    • পুটি: পুটি.এক্সি (বা এফটিপি দ্বারা )

      এসএসএইচ এবং টেলনেট ক্লায়েন্ট নিজেই।

    • প্লিংক: plink.exe (বা এফটিপি দ্বারা )

      পিটিটিওয়াই ব্যাকের একটি কমান্ড-লাইন ইন্টারফেস।

    • পেজেন্ট: পেজেন্ট.এক্সি (বা এফটিপি দ্বারা )

      পিটিটিওয়াই, পিএসসিপি, পিএসএফটিপি এবং প্লিংকের জন্য একটি এসএসএইচ প্রমাণীকরণ এজেন্ট।

    • পুটটাইজেন: পুটটিজেন.এক্সে (বা এফটিপি দ্বারা )

      একটি আরএসএ এবং ডিএসএ কী প্রজন্মের ইউটিলিটি।

  2. আরএসএ এবং পিপিকে কী তৈরি করুন

    1. গিট ব্যাশ ব্যবহার করে, ssh-keygenএকজোড়া আরএসএ পাবলিক / প্রাইভেট কী তৈরি করতে ব্যবহার করুন । এটি কীভাবে করবেন সে সম্পর্কে আরও তথ্য সরকারী উত্পাদক এসএসএইচ কী প্রবন্ধে পাওয়া যাবে।
    2. PuTTYgen ক্ষেত্রে, আপনার বিদ্যমান আমদানি ~/.ssh/id_rsa(ব্যক্তিগত) কী, এর মাধ্যমে ConversionsImport key
    3. Save private keyবোতামের মাধ্যমে আমদানি করা কী সংরক্ষণ করুন ~/.ssh/id_rsa.ppk
    4. আপনার এখন আপনার ~/.sshডিরেক্টরিতে নিম্নলিখিত কীগুলি থাকা উচিত :

      • id_rsa: প্রাইভেট (ওপেনএসএইচ) আরএসএ কী
      • id_rsa.pub: পাবলিক (ওপেনএসএইচ) আরএসএ কী
      • id_rsa.ppk: প্রাইভেট (পিটিটিওয়াই) কী
  3. উইন্ডোজের জন্য গিট ইনস্টল করুন ।

    আপনি প্লিংক ব্যবহার করা পছন্দ করেছেন তা নিশ্চিত করুন।

    গিট সেটআপ

    দ্রষ্টব্য: আপনি যদি ইতিমধ্যে গিট ইনস্টল করেন তবে আপনি কেবল ইনস্টলারটি আবার চালাতে পারেন এবং প্লিংকটিকে আপনার ডিফল্ট এসএসএইচ অ্যাপ্লিকেশন হিসাবে সেট করতে পারেন।

  4. আপনার পরিবেশের পথ নির্ধারণ করুন।

    1. ইন কন্ট্রোল প্যানেল , সিস্টেম দৃশ্য নেভিগেট করুন।
    2. উন্নত সিস্টেম সেটিংস চয়ন করুন ।
    3. ইন সিস্টেম প্রোপার্টি উইন্ডোতে, ক্লিক করুন অ্যাডভান্সড ট্যাব।
    4. ক্লিক করুন Environment variables…
    5. নিম্নলিখিত সিস্টেমের ভেরিয়েবলগুলি যুক্ত করুন (যদি ইতিমধ্যে সেট না করা থাকে):

      • GIT_HOME: C:\Program Files\Git
      • GIT_SSH: C:\Program Files (x86)\PuTTY\plink.exe
    6. সিস্টেমের পথে গিট বাইনারি ডিরেক্টরি যুক্ত করুন।

      • Path: %Path%;%GIT_HOME%\bin
  5. পেজেন্ট খুলুন এবং এখানে অবস্থিত পিপিকে কীটি লোড করুন ~/.ssh/id_rsa.ppk

    দ্রষ্টব্য: একবার পেজেন্ট শুরু হয়ে গেলে, ডানদিকে, পাশের টাস্কবারে অবস্থিত সিস্টেম ট্রেতে এর আইকনে ক্লিক করতে পারেন।

  6. পুটি খুলুন এবং এসএসএইচ এর মাধ্যমে আপনার সংযোগটি পরীক্ষা করতে সংযুক্ত করুন এবং একটি পরিচিত হোস্ট হিসাবে সার্ভারের কী যুক্ত করুন।

    পুটিং

    উদাহরণ হোস্টনাম:

    • গিটহাব: git@github.com:22 (বা এসএসএইচ-এজেন্টের মাধ্যমে ssh -Tv git@github.com)
    • বিটবাকেট: git@bitbucket.org:22 (বা এসএসএল-এজেন্টের মাধ্যমে ssh -Tv git@bitbucket.org)
  7. গিট বাশ শুরু করুন।

    আপনার প্রতিটি পাসওয়ার্ড প্রবেশ না করে আপনার দূরবর্তী হোস্ট থেকে ধাক্কা এবং টানতে সক্ষম হওয়া উচিত should


শর্টকাট

আপনি যখন আপনার উইন্ডোজ অ্যাকাউন্টে লগইন করেন তখন আপনার কীটি স্বয়ংক্রিয়ভাবে লোড করতে আপনি আপনার স্টার্টআপ ডিরেক্টরিতে একটি শর্টকাট রাখতে পারেন।

ব্যাচের স্ক্রিপ্টের মাধ্যমে

এই ধারণাটি এই প্রশ্নের উত্তরের দ্বারা অনুপ্রাণিত হয়েছিল:

সুপার ইউজার: সিএমডি থেকে শর্টকাট কীভাবে করবেন?

REM |==================================================================|
REM | Pageant Autoload.bat                                             |
REM |                                                                  |
REM | This script creates a shortcut for auto-loading a PPK (key) in   |
REM | Pageant by writing a temporary VB script and executing it. The   |
REM | following information below is added to the shortcut.            |
REM |                                                                  |
REM | Filename  : Pageant Autoload                                     |
REM | Target    : pageant.exe                                          |
REM | Arguments : id_rsa.ppk                                           |
REM | Start in  : ~/.ssh                                               |
REM |==================================================================|
@echo off

REM |==================================================================|
REM | Global Values - Do not touch these!                              |
REM |==================================================================|
SET VBSCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
SET STARTUP_DIR=Microsoft\Windows\Start Menu\Programs\Startup
SET STARTUP_USER_DIR=%APPDATA%\%STARTUP_DIR%
SET STARTUP_ALL_USERS_DIR=%PROGRAMDATA%\%STARTUP_DIR% REM Alternative

REM |==================================================================|
REM | Shortcut Values - You can change these to whatever you want.     |
REM |==================================================================|
SET FILENAME=Pageant Autoload.lnk
SET TARGET=%PROGRAMFILES(x86)%\PuTTY\pageant.exe
SET ARGUMENTS=id_rsa.ppk
SET START_IN=%%USERPROFILE%%\.ssh
SET DESCRIPTION=Autoload PuTTY key with Pageant on startup (Ctrl+Alt+S)
SET HOTKEY=CTRL+ALT+S

REM |==================================================================|
REM | Write a new VB script, on the fly; execute and delete it.        |
REM |==================================================================|
ECHO Set oWS = WScript.CreateObject("WScript.Shell") >> %VBSCRIPT%
ECHO sLinkFile = "%STARTUP_USER_DIR%\%FILENAME%" >> %VBSCRIPT%
ECHO Set oLink = oWS.CreateShortcut(sLinkFile) >> %VBSCRIPT%
ECHO oLink.TargetPath = "%TARGET%" >> %VBSCRIPT%
ECHO oLink.Arguments = "%ARGUMENTS%" >> %VBSCRIPT%
ECHO oLink.WorkingDirectory = "%START_IN%" >> %VBSCRIPT%
ECHO oLink.Description = "%DESCRIPTION%"  >> %VBSCRIPT%
ECHO oLink.HotKey = "%HOTKEY%" >> %VBSCRIPT%
ECHO oLink.Save >> %VBSCRIPT%
CScript //Nologo %VBSCRIPT%
DEL %VBSCRIPT% /f /q

উইন্ডোজ এক্সপ্লোরার মাধ্যমে

  1. উইন্ডোজ এক্সপ্লোরারে স্টার্টআপ ডিরেক্টরিতে নেভিগেট করুন।

    • ব্যবহারকারী Startup/ডিরেক্টরি (পছন্দসই) এখানে অবস্থিত:

      %AppData%\Microsoft\Windows\Start Menu\Programs\Startup
      
    • সমস্ত ব্যবহারকারীর Startup/ডিরেক্টরিতে অবস্থিত:

      %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
      
  2. ফোল্ডারের ভিতরে ডান ক্লিক করুন এবং select নির্বাচন করুন NewShortcut

  3. ইন তৈরি করুন শর্টকাট ডায়ালগ, নিম্নলিখিত তথ্য প্রবেশ করান।

    • অবস্থান: "C:\Program Files (x86)\PuTTY\pageant.exe"
    • নাম: Pageant Autoload
  4. নতুন শর্টকাটটিতে ডান ক্লিক করুন এবং Propertiesপ্রসঙ্গ মেনু থেকে চয়ন করুন ।

  5. শর্টকাট ট্যাবের অধীনে নিম্নলিখিত ক্ষেত্রগুলি সংশোধন করুন :

    • টার্গেট: "%PROGRAMFILES(x86)%\PuTTY\pageant.exe" id_rsa.ppk
    • আপনি উত্তর দিবেন না: %USERPROFILE%\.ssh

     
    মন্তব্য:

    1. আপনি যদি 32-বিট উইন্ডোজ ওএস ব্যবহার করেন তবে আপনার %PROGRAMFILES%পরিবর্তে পরিবেশ পরিবর্তনশীল ব্যবহার করা উচিত %PROGRAMFILES(x86)%

    2. যদি আপনি নিজের শর্টকাটটি সমস্ত ব্যবহারকারী প্রারম্ভিক ডিরেক্টরিতে রেখে দেন তবে নিশ্চিত হয়ে নিন যে বর্তমান ব্যবহারকারীর id_rsa.ppkতাদের ~/.sshডিরেক্টরিতে একটি কী আছে বা কীটি স্বয়ংক্রিয়ভাবে লোড হবে না।


মন্তব্য বন্ধ

সেখানে আপনি এটি আছে। পরের বার আপনি যখন আপনার উইন্ডোজ প্রোফাইলে লগইন করবেন, আপনাকে কীটির পাসওয়ার্ড প্রবেশের জন্য একটি পেজেন্ট প্রম্পট দিয়ে স্বাগত জানানো হবে। আপনি যদি আপনার কীতে কোনও পাসওয়ার্ড সেট না করে থাকেন, তবে আপনার কীটি প্রম্পট ছাড়াই স্বয়ংক্রিয়ভাবে লোড করা উচিত।

আপনি যদি নিশ্চিত না হন যে আপনার কী লোড হওয়া সিস্টেম ট্রেতে পেজেন্টের জন্য প্রসঙ্গ মেনু থেকে কীগুলি নির্বাচন করে পজেন্টের বর্তমান কীগুলি দেখে


3
দুর্দান্ত নির্দেশাবলী! আমার কাছ থেকে +1!
পিম্প জুস আইটি

পুটটিজেনে প্রাইভেট কীটি আমদানি করা আমার অনুপস্থিত লিঙ্ক ছিল
সৌরভ কুমার

ছবিটি থেকে সেটআপ প্রক্রিয়াটির পদক্ষেপটি সক্ষম করতে পুট্টিতে একটি সংযোগ তৈরি করতে হয়েছিল।
ব্যবহারকারী 46193

ফ্যান্টাস্টিক! আমার গিটল্যাব ডটকমের সাথে একটি সিমিলির সমস্যা ছিল এবং এটি এটি সমাধান করেছে। গিট পুটি ব্যবহার করছে যখন আমি যে কীটি আপলোড করেছি তা ওপেনএসএসএইচ। ধন্যবাদ!
jgalak

4

সরল ইংরেজিতে

ডিবাগ 3: কোনও আরএসএ 1 কী ফাইল নয় /c/User/Radu/\.ssh\github.ppk।

ডিবাগ 2: কী_ টাইপ_ফর্ম_নাম: অজানা কী টাইপ 'পটিটিওয়াই-ব্যবহারকারী-কী-ফাইল -2

পুট্টিজন বিভিন্ন কী কী তৈরি করতে পারে, গিথুব এসএসএইচ 1-আরএসএ চায় (?, আমি গিথুবে পেজেন্টের সাথে এসএস 2 কী ব্যবহার করি)

জোড়ে

গিথুবের সাথে পেজেন্ট ইস্যুগুলি ডিবাগ করার বিষয়ে এই পোস্টটিও দেখুন

>plink.exe -v -agent git@github.com
Looking up host "github.com"
Connecting to 207.97.227.239 port 22
Server version: SSH-2.0-OpenSSH_5.1p1 Debian-5github2
Using SSH protocol version 2
We claim version: SSH-2.0-PuTTY_Release_0.62
Doing Diffie-Hellman group exchange
Doing Diffie-Hellman key exchange with hash SHA-256
Host key fingerprint is:
ssh-rsa 2048 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48
Initialised AES-256 SDCTR client->server encryption
Initialised HMAC-SHA1 client->server MAC algorithm
Initialised AES-256 SDCTR server->client encryption
Initialised HMAC-SHA1 server->client MAC algorithm
Pageant is running. Requesting keys.
Pageant has 1 SSH-2 keys
Using username "git".
Trying Pageant key #0
Remote debug message: Forced command: gerve lazybadger
Remote debug message: Port forwarding disabled.
Remote debug message: X11 forwarding disabled.
Remote debug message: Agent forwarding disabled.
Remote debug message: Pty allocation disabled.
Authenticating with public key "github/lazybadger" from agent
Sending Pageant's response
Remote debug message: Forced command: gerve lazybadger
Remote debug message: Port forwarding disabled.
Remote debug message: X11 forwarding disabled.
Remote debug message: Agent forwarding disabled.
Remote debug message: Pty allocation disabled.
Access granted
Opened channel for session
Server refused to allocate pty
Started a shell/command
Hi lazybadger! You've successfully authenticated, but GitHub does not provide shell access.
Server sent command exit status 1
Disconnected: All channels closed

এসএসএইচ 1 অপ্রচলিত এবং এতে অসংখ্য সুরক্ষা গর্ত রয়েছে। গিথুব এটি ব্যবহার করে না।
মাধ্যাকর্ষণ

'Ssh -T git@github.com' এর সমতুল্য গিথুব ডকুমেন্টেশন থেকে দুঃখজনকভাবে অনুপস্থিত। পোস্ট করার জন্য আপনাকে ধন্যবাদ।
এপু
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.