GitHub に公開鍵の登録なしでpushする方法

最初に

Githubにpushする前提として公開鍵の登録を実施することになっています。でもちょっと待ってください。皆さんGitHubの最初のユーザ登録の際にユーザ名とパスワードの登録してますよね。ということは公開鍵の登録は必須ではなくて、パスワード認証を用いても当然GitHubにpushできるはずです!ということでちょっと調べてみました。

URLの仕様

「RFC1378」の「3.1. Common Internet Scheme Syntax」によるとURLのフォーマットは以下のように規定されています。ユーザ名とパスワードをホスト名の前につければパスワード認証ができそうです。

<user>:<password>@<host>:<port>/<url-path>

configの変更

ということで.git/configのurlにユーザ名とパスワードを以下のように埋め込みます。これにより無事にpushできました。公開鍵の登録をおこなわずurlにユーザ名がない場合はpushすると403で怒られます。

(前)url = https://github.com/username/hoge.git
(後)url = https://username:password@github.com/username/hoge.git

利用例

例として新規リポジトリを登録する際には以下のような手順になります。

$ cd 管理対象ディレクトリ
$ git init
$ git add .
$ git commit -m "initial commit."
$ git remote add origin https://username:password@github.com/username/hoge.git
$ git push -u origin master

参照

https://tools.ietf.org/html/rfc1738

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.