はじめに
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に上がってしまうので気をつけてください。
他にいい方法があったら教えて下さい。