Linux, SEノウハウ

Puttyで作成したSSH鍵でGitHubにPushする

Puttyで作成したppk形式の秘密鍵でLinuxのクライアントからSSH接続することはできません。

OpenSSHのpem形式に変換しましょう。

 

SSHの秘密鍵には形式がある

SSHのクライアントに合わせて秘密鍵を変換する必要があります。

 

ppk形式

  • PuTTY Key Generatorで作成した鍵
  • Sourcetree, WinSCPからサーバにSSH接続する際に利用する
PuTTY-User-Key-File-2: ssh-rsa
Encryption: none
Comment: rsa-key-20190407
Public-Lines: 6
AAAAB3NzaC1yc2EAAAABJQAAAQEAmdIb5eHsHaxCk7XUyCi0I26PFmOilaAurE/a
NUxsDmSFo3SgjCbIma4ciS9Gi34kgjY51IljnijimRxrzNn/5Ptkxuj59C5/tn5g

・・・

DpEnV8YtlBd7hfE9uG9fSDIYuISvEqE0C8F03utOxLVGPOoXAw==
Private-Lines: 14
AAABADYLjULug2RfHk+S6eV2FcdChU0OQAsOxEphPtR0zAUOj9GlhIRE+l+CXQ2a
/RxBE78MIigUmJ9aeSEJ/Fy7TBIu0GGQIHhjXU31DSlQ5um74MOUaKklPpGkZl7F

・・・

h+uEG4Lgi5ziwpbyFtIUZFFerksGVw/q5L5VIQwzDy9qcTCQQtXupTo5c2FXSBt9
r6i9njpJkyYSh6TYzAdXHbiZyQV8evt1qTx2bs+b3BXk99o=
Private-MAC: 242fad37030940f6d99a80fddaea392bb790f68a

 

pem形式

  • TeratermやLinux上からSSH接続する時に利用する
-----BEGIN RSA PRIVATE KEY-----
MIIEoAIBAAKCAQEA7yejVQyBvhioYuOrxiat8jljkUjBBcdJKfOx/kjQI5825EIO
9CBl7pXPIetGCkgajZ2bjs9sU0E36HLI9sCSiS9OeNbo3YECcS2eRRF2Pzf4YhOw

・・・

TQKBgHHAnbZoDk0qZNnTYid9KmrOQwvB97x2KM9aNuHSaLyUialazssGKXE4W7Vd
6kvH4Vhb5AThFtsI1BauF0hdieTb3XHfi65eaDlqD/s+nhhKRX9RnEZkQ9dOHens
S6pUwuW8mACiDraXBJBZAAOl6IKeP0FfOPWarIG+hS7J6C/Z
-----END RSA PRIVATE KEY-----

 

 

1. PuttyでSSH鍵を作成する

Sourcetreeを利用したいのでppk形式、GithubにLinux上から利用したいので【Conversions】→【Export OpenSSH key】でpem形式を作成する

 

2. GitHubに公開鍵を登録する

https://github.com/settings/ssh

 

3. GitHub上にリポジトリを作成する

 

ここでGitHubでの作業はおしまい。

4. GitHubに接続するSSHクライアント設定

 

pem形式の秘密鍵を登録する

$ vi ~/.ssh/id_rsa_GitHub

-----BEGIN RSA PRIVATE KEY-----
MIIEoAIBAAKCAQEA7yejVQyBvhioYuOrxiat8jljkUjBBcdJKfOx/kjQI5825EIO
9CBl7pXPIetGCkgajZ2bjs9sU0E36HLI9sCSiS9OeNbo3YECcS2eRRF2Pzf4YhOw

・・・

S6pUwuW8mACiDraXBJBZAAOl6IKeP0FfOPWarIG+hS7J6C/Z
-----END RSA PRIVATE KEY-----

 

 

 

$ vi ~/.ssh/config

Host bitbucket
    User git
    Port 22
    Hostname bitbucket
    IdentityFile ~/.ssh/id_rsa
    IdentitiesOnly yes
    Compression yes
    Ciphers arcfour256


Host github.com
    User git
    Port 22
    HostName github.com
    IdentityFile ~/.ssh/id_rsa_GitHub
    IdentitiesOnly yes
    Compression yes
    Ciphers arcfour256

 

 

5. ローカルリポジトリを作成する

まずクローンする

$ cd /home/yuu/develop/
$ git clone https://github.com/<ユーザ名>/●●●.git

 

リポジトリに入る

$ cd /home/yuu/develop/●●●.git

 

リモートリポジトリを確認する

$ git remote -v
origin  https://github.com/<ユーザ名>/●●●.git (fetch)
origin  https://github.com/<ユーザ名>/●●●.git (push)

 

SSHに変更する

$ git remote set-url origin git@github.com:<ユーザ名>/●●●.git

 

テスト用のファイルを作成する

$ touch test.txt
$ git add .
$ git commit -m "test commit from local"

 

ユーザ登録

$ git config --global user.name "<ユーザ名>"
$ git config --global user.email <メールアドレス>

確認

$ git config --list

 

 

GitHubのリモートリポジトリにPushする

$ git push origin master

Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 285 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To git@github.com:<ユーザ名>/●●●.git
   fc93ca3..8726e30  master -> master

OK

 

 

Amazonおすすめ

iPad 9世代 2021年最新作

iPad 9世代出たから買い替え。安いぞ!🐱 初めてならiPad。Kindleを外で見るならiPad mini。ほとんどの人には通常のiPadをおすすめします><

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)