එක් සේවාදායකයකු මත බහු SSH පුද්ගලික යතුරු භාවිතා කිරීමට හොඳම ක්‍රමය


894

එකම සේවාදායකයේ විවිධ සේවාදායකයන්ට හෝ විවිධ කොටස් වලට සම්බන්ධ වීමට මට පුද්ගලික යතුරු කිහිපයක් භාවිතා කිරීමට අවශ්‍යයි (මගේ භාවිතයන් වන්නේ සේවාදායකයේ පද්ධති පරිපාලනය, Git පරිපාලනය සහ එකම සේවාදායකය තුළ සාමාන්‍ය Git භාවිතය). id_rsaලිපිගොනු වල යතුරු ගොඩගැසීමට මම උත්සාහ කළෙමි .

පෙනෙන විදිහට මෙය කිරීමට සරල ක්‍රමයක් වන්නේ විධානය භාවිතා කිරීමයි

ssh -i <key location> login@server.example.com 

එය තරමක් කරදරකාරී ය.

මෙය ටිකක් පහසු කර ගැනීම සඳහා යෝජනා තිබේද?


2
මම මෙම ලිපිය ලිව්වේ විවිධ වින්‍යාසයන් සහ ඒවායේ ශක්තිය / අඩුපාඩු පිළිබඳව ගැඹුරින් ය.
රෆි

Answers:


1270

මගේ සිට .ssh/config:

Host myshortname realname.example.com
    HostName realname.example.com
    IdentityFile ~/.ssh/realname_rsa # private key for realname
    User remoteusername

Host myother realname2.example.org
    HostName realname2.example.org
    IdentityFile ~/.ssh/realname2_rsa  # different private key for realname2
    User remoteusername

සහ යනාදි.


26
ස්තූතියි රැන්ඩල්! මම .ssh / config වෙත කැණීම් කිහිපයක් කළ අතර මෙය සොයාගත්තා: github.com/guides/multiple-github-accounts මාව නිවැරදි දිශාවට යොමු කළා.
ජස්ටින්

6
මෙය විශාල උදව්වක් විය ( stackoverflow.com/a/3828682/169153 ට අමතරව ). : ඔබ පුටි යතුරු මෙතන මෙම ලියවිල්ල අනුගමනය භාවිතා කිරීමට අවශ්ය නම්, blog.padraigkitterick.com/2007/09/16/...
Urda

2
මට මෙම ලිපිය ඉතා ප්‍රයෝජනවත් විය. වින්‍යාස ගොනුව සෑදීමේදී මා කළ එක් දෝෂයක් වූයේ වින්‍යාස ගොනුවක් සෑදීම සඳහා "ස්පර්ශ" විධානය ක්‍රියාත්මක කිරීම වෙනුවට .ssh ෆෝල්ඩරයේ .txt ගොනුවක් තැබීමයි.
M_x_r

56
ඔබට ඒ IdentityFileසඳහා බහු ඇතුළත් කිරීම් ද නියම කළ හැකි බව සලකන්න Host, ඒවා සම්බන්ධ කිරීමේදී පිළිවෙලින් උත්සාහ කරනු ලැබේ.
sschuberth

14
IdentitiesOnly yes~ / .Ssh / id_rsa හෝ වෙනත් අනන්‍යතා වැළැක්වීමට භාවිතා කරන්න . (මෙය මුලින් සංස්කරණයකි)
user3338098

389

සම්බන්ධ වන විට අනුපිළිවෙලින් යතුරු කිහිපයක් උත්සාහ කිරීමට ඔබට ssh ට උපදෙස් දිය හැකිය. මෙන්න කොහොමද:

$ cat ~/.ssh/config
IdentityFile ~/.ssh/id_rsa
IdentityFile ~/.ssh/id_rsa_old
IdentityFile ~/.ssh/id_ed25519
# ... and so on

$ ssh server.example.com -v
....
debug1: Next authentication method: publickey
debug1: Trying private key: /home/example/.ssh/id_rsa
debug1: read PEM private key done: type RSA
debug1: Authentications that can continue: publickey
debug1: Trying private key: /home/example/.ssh/id_rsa_old
debug1: read PEM private key done: type RSA
....
[server ~]$

මේ ආකාරයෙන් ඔබ කුමන සේවාදායකය සමඟ ක්‍රියා කරන්නේ කුමන යතුරද යන්න සඳහන් කිරීමට අවශ්‍ය නැත. එය පළමු වැඩ කිරීමේ යතුර භාවිතා කරයි.

ඔබ මුරපදයක් ඇතුළත් කරන්නේ දී ඇති සේවාදායකයක් යතුර පිළිගැනීමට කැමති නම් පමණි. ඉහත දැක්වෙන පරිදි ssh මුරපදයක් .ssh/id_rsaතිබුනද එය ඉල්ලීමට උත්සාහ කළේ නැත .

වෙනත් පිළිතුරු වල මෙන් එය එක් සේවාදායකයක වින්‍යාසය අභිබවා නොයනු ඇත, නමුත් අවම වශයෙන් ඔබ සම්බන්ධ වන සෑම සේවාදායකයක් සඳහාම වින්‍යාසයක් එක් කිරීමට අවශ්‍ය නොවනු ඇත!


13
අසන ලද ප්‍රශ්නයට මෙය කදිම විසඳුමකි, නමුත් අසන්නා අපේක්ෂා කළ අවශ්‍යතා සපුරාලුවේ නැත. මට නම් එය හරියටම නිවැරදි විසඳුම වන අතර එය “එක් සේවාදායකයකු මත බහු SSH පුද්ගලික යතුරු භාවිතා කිරීමට හොඳම ක්‍රමය” සඳහා අවශ්‍යතාවය සපුරාලයි.
වේඩ්

2
වින්‍යාස ගොනුවේ සත්කාරක ප්‍රකාශය යටතේ මෙය ක්‍රියාත්මක වන බවක් නොපෙනේ
මැක්සිම් ලුසික්

34
මෙය git සමඟ හොඳින් ක්‍රියා නොකරයි, ඔබට ගිතුබ් යෙදවීමේ යතුරු දෙකක් තිබේ නම්, ලැයිස්තුවේ පළමුවැන්න වලංගු වන අතර එය ක්‍රියාත්මක වනු ඇත, නමුත් එවිට ගබඩාව නිධිය නොගැලපෙන බවට පැමිණිලි කරනු ඇත.
ඇඩම් රීස්

1
SFTP / ඉලක්ක සේවාදායකයට ගිණුම අගුළු දැමීමේ ආරක්ෂක ප්‍රතිපත්ති තිබේ නම් (අසාර්ථක සම්බන්ධතා උත්සාහයන් 3 කට පසුව කියන්න), මෙය ගිණුම අගුළු දැමීම අවසන් නොකරනු ඇත. සම්බන්ධතාවයක් උත්සාහ කර ඇත, නමුත් 'වැරදි යතුරක්' ගොනුවක් සමඟ
alchemist.gamma

8
ඔබට එම සේවාදායකවල අසමත් 2 බෑන් වැනි යමක් තිබේ නම් ප්‍රවේශම් වන්න. ඔබට එම බන්ධනාගාර වලින් එකක අවසන් විය හැකිය ... අනෙක් යතුරු උත්පාදනය කිරීම අසාර්ථක වීම නිසා ...
පික්කෝලෝ

260

මෙම රැන්ඩල් ෂ්වාට්ස් වෙතින් පිළිතුරක් පාහේ මට සියලු ආකාරයෙන් උදව් කළා. මට සේවාදායකයේ වෙනස් පරිශීලක නාමයක් ඇත, එබැවින් පරිශීලක යතුරු පදය මගේ ගොනුවට එක් කිරීමට මට සිදු විය:

Host           friendly-name
HostName       long.and.cumbersome.server.name
IdentityFile   ~/.ssh/private_ssh_file
User           username-on-remote-machine

දැන් ඔබට මිත්‍රශීලී නම භාවිතයෙන් සම්බන්ධ විය හැකිය:

ssh friendly-name

තවත් මූල පද OpenSSH man පිටුවෙන් සොයාගත හැකිය . සටහන: ලැයිස්තුගත කර ඇති සමහර මූල පද දැනටමත් ඔබේ / etc / ssh / ssh_config ගොනුවේ තිබිය හැක.


මම පරිශීලකයා වරදවා වටහා නොගන්නේ නම්, පරිශීලක @ සත්කාරක සමඟ සම්බන්ධ වන විට ඔබ සාමාන්‍යයෙන් යූආර්එල් හි කෙලින්ම සඳහන් කරන්න
a1an

3
'පෝට්' යතුරද භාවිතා කිරීමට මම කැමැත්තෙමි. තවත් සිත්ගන්නා සුළු පදයක් වන්නේ 'StrictHostKeyChecking' යන්නයි.
ඊතන්

134

පෙර පිළිතුරු මගින් බහු ssh යතුරු කළමනාකරණය කිරීම සඳහා වින්‍යාස ගොනුවක් සෑදීමේ ආකාරය නිවැරදිව පැහැදිලි කර ඇත. මම හිතන්නේ, පැහැදිලි කළ යුතු වැදගත් දෙය නම් නිධිය ක්ලෝන කරන අතරතුර ධාරක නාමයක් අන්වර්ථ නාමයක් සමඟ ප්‍රතිස්ථාපනය කිරීමයි .

ඔබේ සමාගමේ GitHub ගිණුමේ පරිශීලක නාමය abc1234 යැයි සිතමු . ඔබේ පුද්ගලික GitHub ගිණුමේ පරිශීලක නාමය jack1234 යැයි සිතමු

තවද, ඔබ RSA යතුරු දෙකක් නිර්මාණය කර ඇතැයි සිතමු, එනම් id_rsa_company සහ id_rsa_personal . එබැවින්, ඔබගේ වින්‍යාස ගොනුව පහත පරිදි වනු ඇත:

# Company account
Host company
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_company

# Personal account
Host personal
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_personal

දැන්, ඔබ සමාගමේ GitHub ගිණුමෙන් නිධිය (ඩෙමෝ ලෙස නම් කර ඇති) ක්ලෝන කරන විට , නිධිය URL ය වැනි දෙයක් වනු ඇත:

Repo URL: git@github.com:abc1234/demo.git

දැන්, කරන අතරතුර git clone, ඔබ ඉහත නිධිය URL ය ලෙස වෙනස් කළ යුතුය:

git@company:abc1234/demo.git

වින්‍යාස ගොනුවේ අප අර්ථ දක්වා ඇති පරිදි github.com දැන් අන්වර්ථ "සමාගම" සමඟ ප්‍රතිස්ථාපනය කරන්නේ කෙසේදැයි බලන්න.

සමානව, වින්‍යාස ගොනුවේ ලබා දී ඇති අන්වර්ථ නාමය මත පදනම්ව ඔබ පුද්ගලික ගිණුමේ ගබඩාවේ ක්ලෝන URL වෙනස් කළ යුතුය.


12
මට මෙම පිළිතුර එක් වරකට වඩා වැඩි ගණනක් ඉදිරිපත් කිරීමට හැකි වේවායි ප්‍රාර්ථනා කරමි ... මෙය ගැටලුවට එළඹිය හැකි නිවැරදි ක්‍රමය වන අතර එය වෙනත් විකල්පයන්ට වඩා ආරක්ෂිත හා වේගවත් ය. වඩා පරිමාණය කළ හැකි ( එකම සත්කාරක නාමය සඳහා විවිධ යතුරු නිර්වචනය කිරීමට ඉඩ දෙයි )
ගයාරාඩ්

5
වැඩි කාලයක් නාස්ති නොකරන්න, මෙය පිළිතුරයි. බොහෝම ස්තූතියි.
ලුයිස් මිලානීස්

2
මම මීට පෙර මෙම පිළිතුර සොයාගනු ඇතැයි සිතමි ... නමුත් කිසි විටෙකත් වඩා ප්‍රමාදයි, බොහෝම ස්තූතියි!
හිල්ඩි

2
නියම පැහැදිලි කිරීමක්! මට පරිපූර්ණව ක්‍රියා කරයි. අන්වර්ථය සමඟ repo ක්ලෝන කිරීමට ඔබට අමතක වූවා නම් ඔබට බොහෝ විට දුරස්ථ මූලාරම්භය සංස්කරණය කළ හැකිය.
tkahn

1
වින්‍යාස ගොනුව (chmod 600) විය යුතු බැවින් අවධානය යොමු කරන්න.
ක්‍රිස්ටියානෝ මැටෝස්

107
ssh-add ~/.ssh/xxx_id_rsa

එකතු කිරීමට පෙර ඔබ එය පරීක්ෂා කිරීමට වග බලා ගන්න:

ssh -i ~/.ssh/xxx_id_rsa username@example.com

ඔබට දෝෂ පිළිබඳ කිසියම් ගැටළුවක් ඇත්නම් සමහර විට ගොනුවේ ආරක්ෂාව වෙනස් කිරීම උපකාරී වේ:

chmod 0600 ~/.ssh/xxx_id_rsa

4
මගේ මතය අනුව මෙය වඩාත් සංක්ෂිප්ත හා අලංකාර විසඳුමයි. චාම් එකක් වගේ වැඩ කළා!
artur

@ බොබෝ ඔබට එය ඔබේ bashrc හෝ bash_profile (හෝ මැක් සමාන කුමක් වුවත්) දැමිය හැකිද?
T0xicCode

6
Chmod 0600 සඳහා +1 - අවසර ගැටළු නිසා මා සම්බන්ධ වීම වලක්වනු ලැබීය
amacy

මට චාම් එකක් වගේ වැඩ කළා (සහ පර්ම් 0600 ක් ගැන අමතක කරන්න එපා).
ඩිමිට්‍රෝ උහිචෙන්කෝ

1
මැක් මත උබුන්ටු සිට පැමිණි අතර මට අවශ්‍ය වූයේ මෙයයි.
hariom

42
  1. SSH යතුරක් ජනනය කරන්න:

    $ ssh-keygen -t rsa -C <email1@example.com>
    
  2. තවත් SSH යතුරක් ජනනය කරන්න :

    $ ssh-keygen -t rsa -f ~/.ssh/accountB -C <email2@example.com>
    

    දැන්, නාමාවලියෙහි පොදු යතුරු දෙකක් ( id_rsa.pub , accountB.pub ) තිබිය යුතුය ~/.ssh/.

    $ ls -l ~/.ssh     # see the files of '~/.ssh/' directory
    
  3. ~/.ssh/configපහත සඳහන් අන්තර්ගතයන් සමඟ වින්‍යාස ගොනුවක් සාදන්න :

    $ nano ~/.ssh/config
    
    Host bitbucket.org
        User git
        Hostname bitbucket.org
        PreferredAuthentications publickey
        IdentityFile ~/.ssh/id_rsa
    
    Host bitbucket-accountB
        User git
        Hostname bitbucket.org
        PreferredAuthentications publickey
        IdentitiesOnly yes
        IdentityFile ~/.ssh/accountB
    
  4. defaultගිණුමෙන් ක්ලෝන කරන්න .

    $ git clone git@bitbucket.org:username/project.git
    
  5. accountBගිණුමෙන් ක්ලෝන කරන්න .

    $ git clone git@bitbucket-accountB:username/project.git
    

වැඩි විස්තර මෙතැනින් බලන්න


24

Ssh-agent භාවිතා කිරීම ගැන මම ටූමාස් සමඟ එකඟ වෙමි. වැඩ සඳහා දෙවන පුද්ගලික යතුරක් එක් කිරීමට මට අවශ්‍ය වූ අතර මෙම නිබන්ධනය මට චමත්කාරයක් මෙන් ක්‍රියා කළේය.

පියවර පහත පරිදි වේ:

  1. $ ssh-agent bash
  2. $ ssh-add /path.to/private/key උදා ssh-add ~/.ssh/id_rsa
  3. විසින් සත්‍යාපනය කරන්න $ ssh-add -l
  4. එය පරීක්ෂා $ssh -v <host url>උදා:ssh -v git@assembla.com

4
ssh-agentවසර ගණනාවක් තිස්සේ භාවිතා කර ඇති මම මෑතකදී gnome-keyringමගේ i3wm තුළ Gnome භාවිතා කිරීමට මාරු වීමි. හේතුව සරලයි: මට මතක නැතිව sn යතුරු එකතු කිරීම සහ ඉවත් කිරීම Gnome's Keyring කළමනාකරු ස්වයංක්‍රීයව හසුරුවයි ssh-add. ඒවා අගුළු ඇරීමට මට තනි මුරපදයක් ලබා දීමට අමතරව (සහ ආරක්ෂාව සඳහා නිශ්චිත වේලාවක කල් ඉකුත් වීම). එක් එක් කෙනාට. මම ආරුක්කු මත gnome සැකසුම් භාවිතා කරන බැවින්, එය මගේ සැකසුම සමඟ ප්ලග් එන් ප්ලේය. ඔබ g ාන විරෝධී නම්, මෙම අදහස නොසලකා හරින්න.
eduncan911

un eduncan911, gnome-keyring ප්‍රයෝජනවත් විය හැකි බව මම එකඟ වෙමි, නමුත් එය ඇත්ත වශයෙන්ම ed25519 යතුරු හසුරුවන්නේ නැත, එබැවින් මට ආරම්භකයකු නොවේ. යාවත්කාලීන කිරීම: wiki.archlinux.org/index.php/GNOME/… වෙතින් මම දකින්නේ එය දැන් පද්ධතියේ ssh-agent භාවිතා කරන බැවින් එය තවදුරටත් ගැටළුවක් නොවන බවයි.
බ්‍රයන් මින්ටන්

15

ටික වේලාවකට පෙර, මට බිට්බකට් ගිණුම් දෙකක් තිබූ අතර, ඒ දෙකම සඳහා වෙනම SSH යතුරු ගබඩා කිරීමට මට අවශ්‍ය විය. මට වැඩ කළේ මෙයයි.

මම පහත පරිදි වෙනම ssh වින්‍යාසයන් දෙකක් නිර්මාණය කළෙමි.

Host personal.bitbucket.org
    HostName bitbucket.org
    User git
    IdentityFile /Users/username/.ssh/personal
Host work.bitbucket.org
    HostName bitbucket.org
    User git
    IdentityFile /Users/username/.ssh/work

දැන් මට මගේ සේවා ගිණුමෙන් ගබඩාවක් ක්ලෝන කිරීමට සිදු වූ විට - විධානය පහත පරිදි විය.

git clone git@bitbucket.org:teamname/project.git

මට මෙම විධානය වෙනස් කිරීමට සිදු වූයේ:

git clone git@**work**.bitbucket.org:teamname/project.git

ඒ හා සමානව මගේ පුද්ගලික ගිණුමේ ක්ලෝන විධානය වෙනස් කළ යුතුව තිබුණි

git clone git @ personal .bitbucket.org: name / personalproject.git

වැඩි විස්තර සඳහා මෙම සබැඳිය බලන්න .


12

දැන්, Git හි මෑත අනුවාදය සමඟ, අපට නිධිය-විශේෂිත Git වින්‍යාස ගොනුවේ sshCommand නියම කළ හැකිය :

  [core]
      repositoryformatversion = 0
      filemode = true
      bare = false
      logallrefupdates = true
      sshCommand = ssh -i ~/.ssh/id_rsa_user
   [remote "origin"]
      url = git@bitbucket.org:user/repo.git
      fetch = +refs/heads/*:refs/remotes/origin/*


1

configඔබගේ ~/.sshෆෝල්ඩරයේ නම් කර ඇති වින්‍යාස ගොනුවක් සෑදිය හැකිය . එහි අඩංගු විය හැකිය:

Host aws
    HostName *yourip*
    User *youruser*
    IdentityFile *idFile*

මෙය ඔබට මෙවැනි යන්ත්‍ර සමඟ සම්බන්ධ වීමට ඉඩ සලසයි

 ssh aws

IdFile කුමන ස්වරූපයක් ගනීද? නිරපේක්ෂ මාවතක්. ඔබට උදාහරණයක් සැපයිය හැකිද
පීටර් මෝර්ටෙන්සන්

1

වැදගත්: ඔබ ssh-agent ආරම්භ කළ යුතුය

පහත පරිදි ssh-add භාවිතා කිරීමට පෙර ඔබ ssh-agent ආරම්භ කළ යුතුය (එය දැනටමත් ක්‍රියාත්මක නොවේ නම්):

eval `ssh-agent -s` # start the agent

ssh-add id_rsa_2 # Where id_rsa_2 is your new private key file

Ev විධානය වින්ඩෝස් හි Git Bash හි නියෝජිතයා ආරම්භ කරන බව සලකන්න . SSH නියෝජිතයා ආරම්භ කිරීම සඳහා වෙනත් පරිසරයන් ප්‍රභේදයක් භාවිතා කළ හැකිය.


1

මත උබුන්ටු 18.04 (Bionic බීවර්) කරන්න දෙයක් නැහැ.

දෙවන SSH යතුරක් සාර්ථකව නිර්මාණය කිරීමෙන් පසු පද්ධතිය සෑම සම්බන්ධතාවයක් සඳහාම ගැලපෙන SSH යතුරක් සොයා ගැනීමට උත්සාහ කරයි.

පැහැදිලි වීමට නම් ඔබට මෙම විධානයන් සමඟ නව යතුරක් සෑදිය හැකිය:

# Generate key make sure you give it a new name (id_rsa_server2)
ssh-keygen

# Make sure ssh agent is running
eval `ssh-agent`

# Add the new key
ssh-add ~/.ssh/id_rsa_server2

# Get the public key to add it to a remote system for authentication
cat ~/.ssh/id_rsa_server2.pub

1

GitHub හි යතුරු යුගල කිහිපයක්

1.0 SSH වින්‍යාස ගොනුව

1.1 ~ / .ssh / config සාදන්න

1.2 chmod 600 ~ / .ssh / config ( අනිවාර්යයෙන්ම )

1.3 ගොනුවට පහත සඳහන් දෑ ඇතුළත් කරන්න:

පීසා සත්කාරක කරන්න

ධාරක නාමය github.com

මනාප සහතික කිරීම් publickey # අත්‍යවශ්‍ය නොවේ

හැඳුනුම්පත ~ / .ssh / privatekey1

නඩුව A: නැවුම් නව Git ක්ලෝන

Git clone වෙත මෙම විධානය භාවිතා කරන්න:

$ git clone git@pizza:yourgitusername/pizzahut_repo.git

සටහන: ඔබට අනාගතයේදී .ssh / config හි “පීසා” ධාරක නාමය වෙනස් කිරීමට අවශ්‍ය නම්, Git ක්ලෝන කරන ලද ෆෝල්ඩරයට ගොස්, .git / config ගොනු URL රේඛාව සංස්කරණය කරන්න (B අවස්ථාව බලන්න)

B නඩුව: දැනටමත් Git clone ෆෝල්ඩරය ඇත

2.1 ක්ලෝන කරන ලද ෆෝල්ඩරයට ගොස් .git ෆෝල්ඩරයට යන්න

2.2 වින්‍යාස ගොනුව සංස්කරණය කරන්න

2.3 * පැරණි සිට නව දක්වා URL යාවත්කාලීන කරන්න :

(Old) URL = git@github.com:yourgitusername/pizzahut_repo.git

(New) URL = git@pizza:yourgitusername/pizzahut_repo.git


1

මෙන්න මම භාවිතා කළ විසඳුම සජිබ්-ඛාන්ගේ පිළිතුරෙන් ආශ්වාදයක් . පෙරනිමි වින්‍යාසය සකසා නැත; එය GitLab හි මගේ පුද්ගලික ගිණුම වන අතර අනෙක සඳහන් කර ඇත්තේ මගේ සමාගම් ගිණුමයි. මෙන්න මම කළ දේ:

SSH යතුර ජනනය කරන්න

ssh-keygen -t rsa -f ~/.ssh/company -C "name.surname@company.com"

SSH වින්‍යාසය සංස්කරණය කරන්න

nano ~/.ssh/config
    Host company.gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/company

හැඹිලි SSH යතුර (ය) මකන්න

ssh-add -D

එය පරීක්ෂා කරන්න!

ssh -T git@company.gitlab.com

GitLab වෙත සාදරයෙන් පිළිගනිමු, @ hugo.sohm!

ssh -T git@gitlab.com

GitLab වෙත සාදරයෙන් පිළිගනිමු, ug හියුගෝසොම්!

එය භාවිතා කරන්න!

සමාගම් ගිණුම

git clone git@company.gitlab.com:group/project.git

පුද්ගලික / පෙරනිමි ගිණුම

git clone git@gitlab.com:username/project.git

මෙන්න මම භාවිතා කළ මූලාශ්රය .


1

මට නම්, වැඩ කරන එකම විසඳුම මෙය ගොනුවට එක් කිරීම පමණි ~/.ssh/config:

Host *
  IdentityFile ~/.ssh/your_ssh_key
  IdentityFile ~/.ssh/your_ssh_key2
  IdentityFile ~/.ssh/your_ssh_key3
  AddKeysToAgent yes

your_ssh_keyකිසිදු දිගුවක් නොමැතිව වේ. භාවිතා නොකරන්න .pub.


ක්‍රියා කරන නමුත් පටවන විට "පූබ්කි පැටවීම" මාර්ගය / .ssh / key ": අවලංගු ආකෘතිය"
නෝමන් පොට්ස්

0

OpenSSH_5.3p1 සහ OpenSSL 1.0.1e-fips ධාවනය වන CentOS 6.5 හි, මගේ යතුරු ලිපිගොනු නැවත නම් කිරීම මගින් ගැටලුව විසඳූ අතර ඒ කිසිවකට පෙරනිමි නමක් නොතිබුණි.

මගේ .ssh නාමාවලියෙහි id_rsa_foo සහ id_rsa_bar අඩංගු වේ, නමුත් id_rsa යනාදිය නොමැත.


යතුරු භාවිතා කරන්නේ කෙසේද? ස්වයංක්‍රීයව හඳුනාගැනීමක් තිබේද?
රොබ්ෂ්

දී ඇති ධාරකය සඳහා නිවැරදි යතුර තෝරා ගැනීමේ ක්‍රමයක් සඳහා රැන්ඩල් ෂ්වාට්ස්ගේ පිළිතුර බලන්න stackoverflow.com/questions/2419566/…
ක්‍රිස් ඕවන්ස්

ඔව්, එය වඩාත් පැහැදිලි කරයි. -iවිකල්පය භාවිතා කිරීමෙන් පවා එවැනි දෙයක් සිදුවිය හැකිය no such identity: /home/embo/.ssh/id_rsa: No such file or directory.
පීටර් මෝර්ටෙන්සන්

0

ඇට්ලේෂියන් බ්ලොග් පිටුවක සඳහන් කර ඇති පරිදි , පහත සඳහන් පා including ය ඇතුළුව .ssh ෆෝල්ඩරය තුළ වින්‍යාස ගොනුවක් ජනනය කරන්න:

#user1 account
 Host bitbucket.org-user1
     HostName bitbucket.org
     User git
     IdentityFile ~/.ssh/user1
     IdentitiesOnly yes

 #user2 account
 Host bitbucket.org-user2
     HostName bitbucket.org
     User git
     IdentityFile ~/.ssh/user2
     IdentitiesOnly yes

එවිට ඔබට උපසර්ග වසම සමඟ පිටව යා හැකි අතර ව්‍යාපෘති තුළ ඔබට කර්තෘගේ නම් ආදිය දේශීයව වින්‍යාසගත කළ හැකිය.


0

File / .ssh / config ගොනුවේ පහත සඳහන් දේ සැකසීමේ ප්‍රවේශයට මම කැමතියි:

# Configuration for GitHub to support multiple GitHub  keys
Host  github.com
  HostName github.com
  User git

# UseKeychain adds each keys passphrase to the keychain so you
# don't have to enter the passphrase each time.
  UseKeychain yes

# AddKeysToAgent would add the key to the agent whenever it is
# used, which might lead to debugging confusion since then
# sometimes the one repository works and sometimes the
# other depending on which key is used first.
#  AddKeysToAgent yes

# I only use my private id file so all private
# repositories don't need the environment variable
# `GIT_SSH_COMMAND="ssh -i ~/.ssh/id_rsa"` to be set.
  IdentityFile ~/.ssh/id_rsa

එවිට ඔබේ ගබඩාවේ ඔබට භාවිතා කළ යුතු විධානය .envඅඩංගු ගොනුවක් සෑදිය sshහැකිය:

GIT_SSH_COMMAND="ssh -i ~/.ssh/your_ssh_key"

ඔබ උදා: dotenv භාවිතා කරන්නේ නම් පරිසර පරිසර විචල්‍යය ස්වයංක්‍රීයව අපනයනය කරනු ලැබේ. මුරපදය යතුරු පුවරුවට එක් කළ බැවින් එය ඉල්ලා සිටින්නේ එක් වරක් පමණි.

මෙම විසඳුම Git සමඟ හොඳින් ක්‍රියා කරන අතර මැක් මත වැඩ කිරීමට නිර්මාණය කර ඇත (හේතුවෙන් UseKeychain).


-1

බහු SSH යතුරු නඩත්තු කිරීම සඳහා ඔබට මෙම sshmulti npm පැකේජය උත්සාහ කළ හැකිය .


1
මේ වගේ කිසිම දෙයකට npm භාවිතා නොකරන ලෙස මම තරයේ නිර්දේශ කරමි . එය පරායත්තයන්ගේ කඳුරැල්ලකින් යුක්ත වූ අතර, කෙටියෙන් පරීක්ෂා කිරීමේදී, හුදකලා-වෘකයන්ගේ සංවර්ධකයින්, අවුරුදු කිහිපයක් පැරණි පැකේජ ඇතුළත් වේ. Sshmulti npm පිටුවම එය පරීක්‍ෂා නොකළ බව ප්‍රකාශ කරයි.
ජැක් වාසී
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.