Xserver SSH接続の設定とAnaconda3のインストール

最終更新日

この記事についてXサーバーでのSSH接続の設定とサーバーにアナコンダをインストールしてPython環境の構築までをまとめていきます。
サーバーはエックスサーバーがおすすめです!

簡易紹介:こうたろう

1986年生まれ
音大卒業後日本、スウェーデン、ドイツにて音楽活動
その後金田式DC録音のスタジオに弟子入り
プログラミング(C)を株式会社ジオセンスのCEO小林一英氏よりを学ぶ
現在はヒーリングサウンド専門のピアニスト、またスタジオでは音響エンジニア、フォトグラファーなどマルチメディアクリエーターとして活動中
当記事ではプログラマー、音響エンジニアとして知識とスキルをシェアしていきます

SSH接続設定

SSHをon

まずはサーバー側(Xサーバー)でSSHをOnにします。

サーバー管理からアカウント→SSH設定と進み、SSHをOnにします。

SSH設定に関するXserver公式解説ページ

パスフレーズの設定

次に公開鍵認証用鍵ペアの生成タブに移動して、パスフレーズを設定します。

これは任意のパスワードでOK。

すると自動で秘密キーのダウンロードが始まります。

keynoteが自動で開くかもしれませんが無視して閉じてください。

.SSHを作成

ホームディレクトリに移動し、隠しファイルを表示させます。

command + shift + .で可視化できます!

Mac 隠しフォルダ, ファイルの表示・非表示

mkdir ~/.ssh

でSSHフォルダを作成。

秘密キーファイルを生成

ダウンロードした秘密キーファイルで秘密キーを生成します。

# 秘密キー生成
mv ~/downloads/あなたのサーバーID.key ~/.ssh/id_rsa

生成できたら

chmod 700 ~/.ssh

chmod 600 ~/.ssh/id_rsa

を打ち込んで権限を変更します。

公開鍵ファイルを生成

ssh-keygen -t rsa

すると>>> Enter file in which to save the keyと質問されます。

id_rsa

を打ち込みます。

すると>>> Enter passphrase (empty for no passphrase):と質問されます。

ここで先ほどXSERVER内で生成したパスフレーズを入力。

連続で2回入力します。

公開キーをサーバーに登録

ここまでくると、ホームディレクトリにid_rsa (秘密鍵)とid_rsa.pub (公開鍵)の2種類のファイルが生成されています。

.sshフォルダの外に生成されています。

この中からid_rsa.pubを開いて(テキストエディットで開いてもコマンドでコピーしてもどちらでもOK)公開鍵をすべてコピーします。

コマンドで行うと

pbcopy < ~/.ssh/id_rsa.pub

コピーした内容を先ほどのXサーバーの公開鍵登録・更新タブを開き、ペースト。

これでSSH接続ができるようになりました。

ポイントid_rsa (秘密鍵)とid_rsa.pub (公開鍵)は冒頭で作成したホームディレクトリ内の.sshフォルダに入れてしまってokです。
configファイルもここに格納します。
id_rsaは上書きしても大丈夫です。

接続テストとconfigファイルの生成

ssh -l サーバーID -p 10022 サーバーID.xsrv.jp

こちらを打ち込めばまたまた冒頭で決めたパスフレーズを求められますので入力してエンター。

これでサーバーに接続することができました。

XサーバーにはデフォルトでLinuxが入っていますのでこの段階でLinuxのコマンドを使用することができます。

ただし毎回接続時に打ち込むのが面倒なのでショートカットを生成して簡単に接続できるようにします。

touch ~/.ssh/config

.sshフォルダ内にconfigファイルを生成しショートカットの内容を書き換えます。

# config ファイルの編集
vim ~/.ssh/config

i を押すと編集モードに切り替わります。

そこへ

Host xsrv
  HostName あなたのサーバーID.xsrv.jp
  Port 10022
  User あなたのサーバーID
  IdentityFile ~/.ssh/id_rsa
  ServerAliveInterval 60

をインサートし保存します。

保存方法は、esc→:wq→エンターです。

これで.sshフォルダ内にconfigファイルが生成されました。

以降はターミナルで

ssh xsrv

を打ち込めばパスフレーズ打ち込みに移り、ログインすることができます。

Anaconda(Python環境)をインストール

Anacondaの公式サイトから最新のLinux版をダウンロードします。

  Anaconda公式
ポイントXサーバーにはLinuxが入っていますのでLinux版をダウンロードしてください。

サーバーにAnacondaインストーラーをアップロード

Xサーバーのファイル管理タブからファイルマネージャーに移動し、アップロードタブから先ほどダウンロードしたLinux版アナコンダのシェルをアップロードしてください。

この時、ファイル名の文字コードをUTF-8にしておいてください。

デフォルトではSJISになっている場合があります。

インストールは数分かかります。

Anacondaをインストール

アップロードが完了したらアナコンダをインストールします。

ターミナルから

ssh xsrv

で再びログインします。

sh Anaconda3-2021.11-Linux-x86_64.sh

でインストールできます。

ポイントAnaconda3-2021.11-Linux-x86_64の部分はあなたのダウンロードしたバージョンになります。

これで言われた通りにインストールを進めていきます。

環境構築終盤

インストールが完了したら一度ターミナルを終了し、Xサーバー側もリロードしておきます。

そして再度ターミナルからログインし、pipなどをインストールしていきます。

ログイン後

# Xサーバーのファイル管理からanaconda3のフォルダへ移動
cd anaconda3

移動したら

conda install pip

でpipをインストールできます。

pipが入っていれば一安心ですね。

mkdir kotarostudio
cd kotarostudio
pip install pipenv

で仮想環境も構築。

ターミナルを一度閉じて、再度ログインし

pipenv shell

で仮想環境に入れます。

ターミナルにて$マークの後ろに括弧でディレクトリの名前が表示されていれば仮想環境に入れていることの確認になります。

動かすPythonで使用しているパッケージをインストールしなければいけませんので、仮想環境にインストールしておきましょう。
pipenv install 使いたいパッケージ
# インストールパッケージの確認
cat Pipfile
# 仮想環境から抜ける
exit

Pythonファイルをアップロード

これでPythonファイルをアップロードし、サーバーで動かし続けることができるようになりました。

常駐させるためには・・・

SSH接続が切断だれても、ログアウトしてもプログラムを動かし続けるためにはnohupコマンドを使います。
ここがサーバーで動かす際の最も重要なポイントとなります。
      
  1. pipenv(仮想環境)にログイン
  2.   
  3. cd でPythonファイルがアップされたフォルダへ移動
  4.   
  5. プログラムを開始
  6.   
  7. 動いているかをチェック
# Pythonファイルを動かす
nohup python3 test.py &

でプログラムが動きます。

「出力用ファイル名」がなければ自動作成されます。
事前にテスト等しているとは思いますが、万が一エラーなどが発生した場合、このテキストファイルの中で確認することができます。
# 出力先の指定
nohup python3 test.py > output1.txt &
# プログラムが動いているかの確認
ps -aux | grep python
ファイル名 95648 0.0 0.0 187948 52840 pts/1 S 21:22 0:00 python3 ファイル名.py

が返ってきたらしっかり動いています。

# プログラムの出力
cat nohup.out
# プログラムの停止
kill 95648
# プログラムが動いているかの確認(停止しているかのチェック)
ps -aux | grep python

まとめ

      
  1. XサーバーでSSHをONにする。
  2.   
  3. 公開鍵と秘密鍵を生成する。
  4.   
  5. 公開鍵をXサーバーに登録する。
  6.   
  7. Anacondaをサーバーにインストールする。

これで問題なく接続できるようになりました。

      
  1. ssh xsrvでログイン。
  2.   
  3. pipenv shellで仮想環境へ。
  4.   
  5. Pythonを24時間動かす。
  6.   
  7. kill 95648で停止する。

という感じでエックスサーバー内でPythonを24時間動かすことができるようになります。

HerokuやAWS、Raspberry PiなどPythonが動くサーバーを構築する方法は他にもありますが、エックスサーバーでブログなどを作っている方には便利なのではないでしょうか。