Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save jstenmark/38688bf438e09d0623aa45deba7b8960 to your computer and use it in GitHub Desktop.

Select an option

Save jstenmark/38688bf438e09d0623aa45deba7b8960 to your computer and use it in GitHub Desktop.

Revisions

  1. @RomuloOliveira RomuloOliveira revised this gist Mar 25, 2015. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -6,11 +6,13 @@ Multiple SSH Keys settings for different github account

    Create different ssh key according the article [Generating SSH keys](https://help.github.com/articles/generating-ssh-keys/).

    Example:

    ```bash
    $ ssh-keygen -t rsa -C "personal@personalemail.com" -f id_rsa_personal
    ```

    Or:
    Or for your work account:

    ```bash
    $ ssh-keygen -t rsa -C "work@workemail.com" -f id_rsa_work
    @@ -41,6 +43,8 @@ Finally, check your saved keys:
    $ ssh-add -l
    ```

    Remember to add created keys to your Github account. [This](https://help.github.com/articles/generating-ssh-keys/) guide will help you.

    # Modify the ssh config

    Open `~/.ssh/config` file:
  2. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -7,13 +7,13 @@ Multiple SSH Keys settings for different github account
    Create different ssh key according the article [Generating SSH keys](https://help.github.com/articles/generating-ssh-keys/).

    ```bash
    $ ssh-keygen -t rsa -C "personal@personalemail.com" -f id_rsa_work
    $ ssh-keygen -t rsa -C "personal@personalemail.com" -f id_rsa_personal
    ```

    Or:

    ```bash
    $ ssh-keygen -t rsa -C "work@workemail.com" -f id_rsa_personal
    $ ssh-keygen -t rsa -C "work@workemail.com" -f id_rsa_work
    ```

    For example, 2 keys created at:
  3. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -4,7 +4,7 @@ Multiple SSH Keys settings for different github account
    # Create different public key


    Create different ssh key according the article See to [Generating SSH keys](https://help.github.com/articles/generating-ssh-keys/).
    Create different ssh key according the article [Generating SSH keys](https://help.github.com/articles/generating-ssh-keys/).

    ```bash
    $ ssh-keygen -t rsa -C "personal@personalemail.com" -f id_rsa_work
  4. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -51,7 +51,7 @@ $ touch config
    $ vim config # please use your favorite editor
    ```

    Then added something like:
    Then add something like:

    ```
    # work account
    @@ -69,14 +69,14 @@ Host github.com-personal

    Finally, test your added hosts:

    ```bash
    ```
    $ ssh -T git@github.com-work
    Hi WorkUser! You've successfully authenticated, but GitHub does not provide shell access.
    ```

    Or:

    ```bash
    ```
    $ ssh -T git@github.com-personal
    Hi PersonalUser! You've successfully authenticated, but GitHub does not provide shell access.
    ```
  5. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -21,14 +21,14 @@ For example, 2 keys created at:
    ```bash
    ~/.ssh/id_rsa_work
    ~/.ssh/id_rsa_personal
    ```bash
    ```

    Then, add these two keys as following:

    ```bash
    $ ssh-add ~/.ssh/id_rsa_work
    $ ssh-add ~/.ssh/id_rsa_personal
    ```bash
    ```

    You can delete all cached keys before:
    ```bash
  6. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 25 additions and 17 deletions.
    42 changes: 25 additions & 17 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -7,13 +7,13 @@ Multiple SSH Keys settings for different github account
    Create different ssh key according the article See to [Generating SSH keys](https://help.github.com/articles/generating-ssh-keys/).

    ```bash
    $ ssh-keygen -t rsa -C "your_email@youremail.com" -f id_rsa_work
    $ ssh-keygen -t rsa -C "personal@personalemail.com" -f id_rsa_work
    ```

    Or:

    ```bash
    $ ssh-keygen -t rsa -C "your_email@youremail.com" -f id_rsa_personal
    $ ssh-keygen -t rsa -C "work@workemail.com" -f id_rsa_personal
    ```

    For example, 2 keys created at:
    @@ -35,7 +35,7 @@ You can delete all cached keys before:
    $ ssh-add -D
    ```

    Finally, you can check your saved keys:
    Finally, check your saved keys:

    ```bash
    $ ssh-add -l
    @@ -67,26 +67,34 @@ Host github.com-personal
    IdentityFile ~/.ssh/id_rsa_personal
    ```

    Finally, test your added hosts:

    # Clone you repo and modify your Git config
    ```bash
    $ ssh -T git@github.com-work
    Hi WorkUser! You've successfully authenticated, but GitHub does not provide shell access.
    ```
    clone your repo (note "github.com-**personal**")
    Or:
    ```bash
    $ ssh -T git@github.com-personal
    Hi PersonalUser! You've successfully authenticated, but GitHub does not provide shell access.
    ```

    git clone git@github.com-personal:work/repo.git repo_personal
    # Clone you repo and modify your Git config

    cd repo_personal and modify git config
    Clone your repo using a configured host (in this case, "github.com-**personal**"):

    $ git config user.name "personal"
    $ git config user.email "personal@gmail.com"

    or
    ```bash
    git clone git@github.com-personal:repoowner/repo.git
    ```

    $ git config user.name "work"
    $ git config user.email "work@gmail.com"

    Enter repository and modify git config:

    then use normal flow to push your code
    ```bash
    $ git config user.name "personal"
    $ git config user.email "personal@personalemail.com"
    ```

    $ git add .
    $ git commit -m "your comments"
    $ git push
    Done!
  7. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 49 additions and 34 deletions.
    83 changes: 49 additions & 34 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -1,59 +1,74 @@
    Multiple SSH Keys settings for different github account
    =================================================================
    =======================================================

    # Create different public key

    create different public key
    ---------------------------------

    create different ssh key according the article [Mac Set-Up Git](http://help.github.com/mac-set-up-git/)
    Create different ssh key according the article See to [Generating SSH keys](https://help.github.com/articles/generating-ssh-keys/).

    $ ssh-keygen -t rsa -C "your_email@youremail.com"
    ```bash
    $ ssh-keygen -t rsa -C "your_email@youremail.com" -f id_rsa_work
    ```

    Please refer to [github ssh issues](http://help.github.com/ssh-issues/) for common problems.
    Or:

    for example, 2 keys created at:
    ```bash
    $ ssh-keygen -t rsa -C "your_email@youremail.com" -f id_rsa_personal
    ```

    ~/.ssh/id_rsa_work
    ~/.ssh/id_rsa_personal
    For example, 2 keys created at:

    then, add these two keys as following
    ```bash
    ~/.ssh/id_rsa_work
    ~/.ssh/id_rsa_personal
    ```bash
    $ ssh-add ~/.ssh/id_rsa_work
    $ ssh-add ~/.ssh/id_rsa_personal
    Then, add these two keys as following:
    you can delete all cached keys before
    ```bash
    $ ssh-add ~/.ssh/id_rsa_work
    $ ssh-add ~/.ssh/id_rsa_personal
    ```bash
    $ ssh-add -D
    You can delete all cached keys before:
    ```bash
    $ ssh-add -D
    ```

    finally, you can check your saved keys
    Finally, you can check your saved keys:

    $ ssh-add -l
    ```bash
    $ ssh-add -l
    ```

    # Modify the ssh config

    Modify the ssh config
    ---------------------------------
    Open `~/.ssh/config` file:

    $ cd ~/.ssh/
    $ touch config
    $ subl -a config
    ```bash
    $ cd ~/.ssh/
    $ touch config
    $ vim config # please use your favorite editor
    ```

    Then added
    Then added something like:

    # work account
    Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work
    ```
    # work account
    Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work
    # personal account
    Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_personal
    # personal account
    Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_personal
    ```


    Clone you repo and modify your Git config
    ---------------------------------------------
    # Clone you repo and modify your Git config

    clone your repo (note "github.com-**personal**")

  8. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 3 additions and 5 deletions.
    8 changes: 3 additions & 5 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -64,12 +64,10 @@ cd repo_personal and modify git config
    $ git config user.name "personal"
    $ git config user.email "personal@gmail.com"

    $ git config user.name "work"
    $ git config user.email "jexlab@gmail.com"
    or

    or you can have global git config
    $ git config --global user.name "personal"
    $ git config --global user.email "personal@gmail.com"
    $ git config user.name "work"
    $ git config user.email "work@gmail.com"


    then use normal flow to push your code
  9. @RomuloOliveira RomuloOliveira revised this gist Mar 6, 2015. 1 changed file with 33 additions and 38 deletions.
    71 changes: 33 additions & 38 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -7,78 +7,73 @@ create different public key

    create different ssh key according the article [Mac Set-Up Git](http://help.github.com/mac-set-up-git/)

    $ ssh-keygen -t rsa -C "your_email@youremail.com"
    $ ssh-keygen -t rsa -C "your_email@youremail.com"

    Please refer to [github ssh issues](http://help.github.com/ssh-issues/) for common problems.

    for example, 2 keys created at:

    ~/.ssh/id_rsa_activehacker
    ~/.ssh/id_rsa_jexchan
    ~/.ssh/id_rsa_work
    ~/.ssh/id_rsa_personal

    then, add these two keys as following

    $ ssh-add ~/.ssh/id_rsa_activehacker
    $ ssh-add ~/.ssh/id_rsa_jexchan
    $ ssh-add ~/.ssh/id_rsa_work
    $ ssh-add ~/.ssh/id_rsa_personal

    you can delete all cached keys before

    $ ssh-add -D
    $ ssh-add -D

    finally, you can check your saved keys

    $ ssh-add -l
    $ ssh-add -l


    Modify the ssh config
    ---------------------------------

    $ cd ~/.ssh/
    $ touch config
    $ subl -a config
    $ cd ~/.ssh/
    $ touch config
    $ subl -a config

    Then added

    #activehacker account
    Host github.com-activehacker
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_activehacker
    # work account
    Host github.com-work
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_work

    #jexchan account
    Host github.com-jexchan
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_jexchan
    # personal account
    Host github.com-personal
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_personal


    Clone you repo and modify your Git config
    ---------------------------------------------

    clone your repo
    git clone git@github.com:activehacker/gfs.git gfs_jexchan
    clone your repo (note "github.com-**personal**")

    cd gfs_jexchan and modify git config
    git clone git@github.com-personal:work/repo.git repo_personal

    $ git config user.name "jexchan"
    $ git config user.email "jexchan@gmail.com"
    cd repo_personal and modify git config

    $ git config user.name "personal"
    $ git config user.email "personal@gmail.com"

    $ git config user.name "activehacker"
    $ git config user.email "jexlab@gmail.com"
    $ git config user.name "work"
    $ git config user.email "jexlab@gmail.com"

    or you can have global git config
    $ git config --global user.name "jexchan"
    $ git config --global user.email "jexchan@gmail.com"
    $ git config --global user.name "personal"
    $ git config --global user.email "personal@gmail.com"


    then use normal flow to push your code

    $ git add .
    $ git commit -m "your comments"
    $ git push


    Another related article in Chinese

    1. http://4simple.github.com/docs/multipleSSHkeys/

    $ git add .
    $ git commit -m "your comments"
    $ git push
  10. @jexchan jexchan revised this gist Apr 10, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -9,7 +9,7 @@ create different ssh key according the article [Mac Set-Up Git](http://help.gith

    $ ssh-keygen -t rsa -C "your_email@youremail.com"

    Please refer to [github ssh issues](http://help.github.com/ssh-issues/)
    Please refer to [github ssh issues](http://help.github.com/ssh-issues/) for common problems.

    for example, 2 keys created at:

  11. @jexchan jexchan revised this gist Apr 10, 2012. 1 changed file with 2 additions and 0 deletions.
    2 changes: 2 additions & 0 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -9,6 +9,8 @@ create different ssh key according the article [Mac Set-Up Git](http://help.gith

    $ ssh-keygen -t rsa -C "your_email@youremail.com"

    Please refer to [github ssh issues](http://help.github.com/ssh-issues/)

    for example, 2 keys created at:

    ~/.ssh/id_rsa_activehacker
  12. @jexchan jexchan revised this gist Apr 10, 2012. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -78,5 +78,5 @@ then use normal flow to push your code

    Another related article in Chinese

    http://4simple.github.com/docs/multipleSSHkeys/
    1. http://4simple.github.com/docs/multipleSSHkeys/

  13. @jexchan jexchan revised this gist Apr 10, 2012. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -76,4 +76,7 @@ then use normal flow to push your code
    $ git push


    Another related article in Chinese

    http://4simple.github.com/docs/multipleSSHkeys/

  14. @jexchan jexchan revised this gist Apr 10, 2012. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -70,6 +70,7 @@ or you can have global git config


    then use normal flow to push your code

    $ git add .
    $ git commit -m "your comments"
    $ git push
  15. @jexchan jexchan revised this gist Apr 10, 2012. 1 changed file with 14 additions and 13 deletions.
    27 changes: 14 additions & 13 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -31,9 +31,9 @@ finally, you can check your saved keys
    Modify the ssh config
    ---------------------------------

    cd ~/.ssh/
    touch config
    subl -a config
    $ cd ~/.ssh/
    $ touch config
    $ subl -a config

    Then added

    @@ -58,20 +58,21 @@ clone your repo

    cd gfs_jexchan and modify git config

    git config user.name "jexchan"
    git config user.email "jexchan@gmail.com"

    git config user.name "activehacker"
    git config user.email "jexlab@gmail.com"
    $ git config user.name "jexchan"
    $ git config user.email "jexchan@gmail.com"
    $ git config user.name "activehacker"
    $ git config user.email "jexlab@gmail.com"

    or you can have global git config
    git config --global user.name "jexchan"
    git config --global user.email "jexchan@gmail.com"

    $ git config --global user.name "jexchan"
    $ git config --global user.email "jexchan@gmail.com"

    Clone your repo and try to push
    ---------------------------------

    then use normal flow to push your code
    $ git add .
    $ git commit -m "your comments"
    $ git push



  16. @jexchan jexchan created this gist Apr 10, 2012.
    77 changes: 77 additions & 0 deletions multiple_ssh_setting.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,77 @@
    Multiple SSH Keys settings for different github account
    =================================================================


    create different public key
    ---------------------------------

    create different ssh key according the article [Mac Set-Up Git](http://help.github.com/mac-set-up-git/)

    $ ssh-keygen -t rsa -C "your_email@youremail.com"

    for example, 2 keys created at:

    ~/.ssh/id_rsa_activehacker
    ~/.ssh/id_rsa_jexchan

    then, add these two keys as following

    $ ssh-add ~/.ssh/id_rsa_activehacker
    $ ssh-add ~/.ssh/id_rsa_jexchan

    you can delete all cached keys before

    $ ssh-add -D

    finally, you can check your saved keys

    $ ssh-add -l


    Modify the ssh config
    ---------------------------------

    cd ~/.ssh/
    touch config
    subl -a config

    Then added

    #activehacker account
    Host github.com-activehacker
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_activehacker

    #jexchan account
    Host github.com-jexchan
    HostName github.com
    User git
    IdentityFile ~/.ssh/id_rsa_jexchan


    Clone you repo and modify your Git config
    ---------------------------------------------

    clone your repo
    git clone git@github.com:activehacker/gfs.git gfs_jexchan

    cd gfs_jexchan and modify git config

    git config user.name "jexchan"
    git config user.email "jexchan@gmail.com"

    git config user.name "activehacker"
    git config user.email "jexlab@gmail.com"

    or you can have global git config
    git config --global user.name "jexchan"
    git config --global user.email "jexchan@gmail.com"


    Clone your repo and try to push
    ---------------------------------