LolipopでPythonを動かすために、Windowsパソコンでプログラム作成→Git Hubへアップロード→Lolipopに持ってくるといった流れを作りました。その際の環境構築メモです。
ココでは、Git Hub→Lolipopの接続についてまとめています。パソコン→Git Hubの接続は「Git Hubを使う」の記事を参照してください。
ちなみに、SSHを使うので、Lolipopのプランが「スタンダードプラン」以上じゃないとだめです。エコノミーやライトだとSSHが使えません。
Lolipopと簡単に接続する環境づくり
まず、Win-Lolipopの接続について。SSHでLolipopと通信する際、毎回ssh ユーザー名@サーバ -p ポート
と打つのが面倒なので、簡単にアクセスできるように環境を作ります。
ざっとした構築の流れは、パソコンで作った公開鍵をlolipopサーバにコピーするという手順なのですが、この「コピーする」でつまずきました。。。
$ ssh-copy-id -i ~/.ssh/id_rsa.pub -p 2222 <SSHアカウント名>@<サーバー名>
ERROR: Unable to negotiate with 133.130.35.108 port 2222: no matching host key type found. Their offer: ssh-rsa,ssh-dss
と、エラーになるんです。なので、手動で公開鍵ファイルを作ってます。ちなみに、私がVIエディタを使えないのでかなり遠回りなやり方です。
Lolipopのサーバ情報をメモ
ユーザー専用ページの左のリストから、サーバの管理・設定→SSH へ行って、そこに書かれている「サーバー」「アカウント」「接続ポート」「SSHパスワード」をメモってください。
Windowsパソコンでの作業
以下のようなファイルを作成し、「config」という名前(拡張子なし)で適当な場所に保存します。私はデスクトップに保存しました。サーバ名やアカウント名などは、上でメモした情報を入れます。また、ファイルはUTF-8で保存してください。
Host lolipop
HostName <サーバー>
Port <接続ポート>
User <アカウント>
IdentityFile ~/.ssh/id_rsa
続いて、このファイルをSSHフォルダにコピーします。SSHのフォルダは、「Git Hubを使う」の記事で鍵を作ったときに、そのパスが出てきていると思います。大体は c:\users\ユーザー名\.ssh ですかね?
Git Bashでコピーするんだったら以下のような感じのコマンドです。
$ cp /c/users/ユーザー名/desktop/config ~/.ssh/
また、公開鍵(id_rsa.pubの中身)も後々使うので、ファイルをメモ帳などで開いておきましょう。
Lolipopでの作業
パワーシェルなどを起動し、LolipopとSSH通信を行います。
ちなみに、接続する際にssh専用パスワードが必要になります。上述の「lolipopのサーバ情報をメモ」の画面でパスワードが出ていると思うので、それをコピーしておきましょう。このパスワード入力が超絶面倒ですが、以下の設定が終われば入力不要になります。
Windowsキーを押して「powershell」と打ってエンターキーを押すと、PowerShellが起動するかと思うので、
$ ssh ユーザー名@サーバ名 -p 接続ポート
でlolipop内に入ります。私の場合、Git Hubと通信するためにすでに公開鍵を作っていたので、まずそのパスワードを入れて、次にlolipop固有のSSH用パスワードを入力しました。
lolipopに入ったら、まずルートの下に「.ssh」フォルダを作ります。
$ mkdir ~/.ssh
その中に入って公開鍵ファイルを手動で作るわけですが、私がVIエディタが使いない。。。ということで、FTPツールを使いました。
まずはlolipop FTPツールに行って、ルートフォルダにてファイルを新規作成してください。
ファイルの中身は、パソコンで作ったid_rsa.pubファイルの中身をまるっぽコピーして、ファイル名は「authorized_keys」にして保存します。権限まわりはデフォルトでOKです。
そのファイルを、.sshフォルダにコピーします。
cp ~/web/authorized_keys ~/.ssh/
これで何とか「パソコンーlolipop」の接続が簡単にできるようになりました。
いったん exit
でlolipopを抜けた後、再度
ssh lolipop
と入力してください。SSHパスワード無し(rsaのパスワードは必要)でlolipopに入れれば成功です。
Lolipop – Git Hub間のSSH接続設定
基本的には、「Git Hubを使う」の記事で書いた設定方法と一緒です。
$ cd ~/.ssh
$ ssh-keygen -t rsa -C メルアド
その中身をCatとかで出して
cat id_rsa.pub
その中身をマルっとコピーし、Git HubのSSH設定画面に貼り付けましょう。貼り付け方は、「Git Hubを使う」の記事を参考にしてください。
また、ついでにリポジトリの画面からSSH接続用アドレスをコピっておいてください。(以下で使います)
Git Hubからプログラムダウンロード
~/webの下に、適当にフォルダを作ってください。
mkdir ~/web/testprogram
その中に入り、initし、リモート接続を作ります。
cd ~/web/testprogram
git init
git remote add 上でこぴったGitHubのSSHアドレス
あとは、引っ張ってくるだけ!
git pull origin master
これで、testprogramの中にファイル群がコピーされていれば成功です。
これでパソコン-Git Hub-lolipopがつながりました。
具体的な作業は、パソコンでプログラムを修正・追加し、Git Hubに上げ、それをlolipopで引っ張ってくる感じです。
<パソコン作業(Git Bash)>
$ git add *
$ git commit -c "コメント"
$ git push origin master
<lolipop作業(lolipopにSSHで入って作業)>
$ git pull origin master
よく使うコマンド
git bash などでよく使うコマンドメモ。
ごちゃごちゃしてきたら、いったんまるっとつくりかえ
$ git clone リポジトリのSSHアドレス
git add *で不要なファイルまで登録されたら、手動削除
$ git rm <ファイル名>
$ git rm -r <ディレクトリ名>
フォルダ内強制削除
rm -rf フォルダ名
リストをきれいに出力
ls -l
ファイル権限変更
chmod 700 file