LolipopでGit Hubを使う

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

コメントを残す

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

CAPTCHA