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が動くサーバーを構築する方法は他にもありますが、エックスサーバーでブログなどを作っている方には便利なのではないでしょうか。

プログラミング記事

【Pythonサンプルコード】録音後の音声データを文字起こしする方法
SpeechRecognitionライブラリを使用します。これは、Pythonのpipコマンドを使って簡単に行えます。…
“Pythonで学ぶ:ポッドキャストテクニック〜完成動画からMP3音声抽出”
完成動画からMP3の高音質版である320kbpsで抽出するPythonサンプルコードを紹介します。…
エポキシ基盤 vs ベークライト基盤:あなたのプロジェクトに最適な選択は?
エポキシ基盤とベークライト基盤を選択する際には、プロジェクトの要件、特に耐久性、耐熱性、コストの観点から適切な基盤を選ぶことが重要です。…
【フォルマント分析】言語パスバンド分析による語学学習効率化
スペイン語が日本人にとって相性がいい根拠を提示しましょう!…
【エンジニア向け保存版】DSD完全ガイド〜DSDからPCMへの変換サンプルコードまで
録音エンジニアとしては、自然界のロケなどもう2度といけないような場所の音響は是非DSDで残したいですし、一期一会の音楽もDSDで残したいと思うものです。…
Raspberry Piを使ってオーディオレコーダーを自作する方法
保存場所や、WIFIを使った機能の追加など、市販品ではなかなか難しいレコーダーを自作して、現場の業務を安全かつ円滑に進められるように工夫していってください。…
【Python音声からテキスト抽出】英語の字幕を自動生成する方法
日本語字幕はすでに対応可能なソフトやツールがたくさん出ていますので、自動で翻訳して出力するまでをやってみましょう。…
【音声機械学習】音源だけで性別、年齢、感情を識別するアプリの開発ガイド決定版
性別、年齢、感情を識別するアプリを開発する例を用いて機械学習の感覚を掴んでいただこうと思います。…
【Music21保存版】音楽家必須のPythonプログラミング〜楽譜の管理と楽曲分析の最強ツール
music21は、古典音楽から現代音楽に至るまで、幅広い楽曲の分析と探究を可能にします。…