6
3

More than 3 years have passed since last update.

ColabでGitHubからPrivate Repositoryをcloneする(SSH認証)

Posted at

はじめに

Colabで自作のオレオレライブラリをCloneして使いたいことは時々あると思います。
その際にパスワードベタ書きでやる方法もあるのですが、セキュリティ的にやはり不安です。

それをなんとかします

方法

まずDriveをマウントします。
認証を求められるのでしてください。

# Driveをマウント
from google.colab import drive
drive.mount("./drive")

GitHubアクセス用のRSA鍵を作成します。

# RSA鍵を作成
!mkdir -p drive/MyDrive/.ssh
!ssh-keygen -t rsa -f drive/MyDrive/.ssh/id_rsa_github

公開鍵を出力してGitHubに登録します。
ここでできます。

!cat drive/MyDrive/.ssh/id_rsa_github.pub

.sshを作り、パーミッションを600にします。
そしてDriveから持ってきた鍵をid_rsaへコピーします。
あと known_hosts に登録しておきます。

# .ssh作成 & パーミッション修正、鍵をpermissionを修正
!mkdir /root/.ssh
!chmod 600 /root/.ssh
!cp drive/MyDrive/.ssh/github /root/.ssh/id_rsa
!cp drive/MyDrive/.ssh/github.pub /root/.ssh/id_rsa.pub
!ssh-keyscan -t rsa github.com >> /root/.ssh/known_hosts

あとはクローンするだけです。

!git clone git@github.com:[ユーザ名]/[リポジトリ名]

他のColab等で作業するなら鍵を作成したり登録するフェーズはもちろん不要です。
仕組み上、RSA秘密鍵もDriveに上がってしまうので気をつけてください。

他にいい方法があったら教えて下さい。

6
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
3