conoha wing で ssh 接続する手順のメモ。
ssh接続
最初、Tera Termで接続を試みたのですが、接続時に「unknown KEX algorithm: curve25519-sha256@libssh.org,curve25519-sha256」というエラーが出てしまい、諦めました。
以下の記事を参考にしました。
https://zenn.dev/kabec_dev/articles/00f22fecb8c8f9
ssh key作成、秘密鍵ダウンロード
conoha wing の「サーバー管理」→「SSH」→「+SSH Key」から鍵を作成し、秘密鍵をダウンロードしておく(.pemファイル)。
ホスト名、ポート番号、ユーザー名を控えておく。
ユーザー名取得
PowerShellで以下を実行し、net userコマンドでユーザー名を確認。ここではユーザー名をhogeとする。
> net user
\\PC名 のユーザー アカウント
-------------------------------------------------------------------------------
Administrator DefaultAccount Guest
hoge WDAGUtilityAccount
.pem のパーミッション変更(chmod 400と同等の処理)
ダウンロードした秘密鍵(.pem)のパーミッションを変更する。変更しないとssh接続時にエラーになった。
> cacls .\key-name.pem /P hoge:R
ssh接続
Powershellで以下を実行し、ssh接続。
> ssh ユーザー名@ホスト名 -p ポート番号 -i ./key-name.pem
Python実行
以下の記事を参考にしました。
https://arefukeblog.com/conoha-wing-python/
必要なモジュールのインストール
Twitter に自動投稿したかったので、twikit を入れました。
pip install twikit
Pythonスクリプトアップロード
Conoha Wingのファイルマネージャーでpythonスクリプトを以下にアップロードしました。内容は省略します。
~/python/test.py
Python スクリプトを実行してみる
以下でアップロードしたPythonスクリプトを実行しました。
python ~/python/test.py
しかし、エラーが。
from .client import Client
File ".local/lib/python3.6/site-packages/twikit/client.py", line 1
from __future__ import annotations
^
どうやら Python 3.6 であるため、from ~ import ~ 構文が使えないエラーでした。この構文が使えるのは 3.7 以降。そして、twikit の必要要件を確認すると Python 3.10 以上が必要でした。
Python 3.10.5をインストール
こちらの記事を参考にさせていただき、Python 3.10.5をConoha Wingにインストールできました。
https://picscels.site/conoha-wing-python-any-version/
参考記事に記載のスクリプトをそのまま実行でインストールできたので、ここでは手順を割愛します。
インストール完了後、こちらの記事を参考に、.bash_profile を編集してPATHにインストールしたPythonのパスを通しました。
https://happy-shibusawake.com/python_install/43/
これで python3 から python 3.10.5 を利用できるようになりました。
Python 3.10.5に必要なモジュールをインストール
twikitをPython 3.10.5の方にも入れます。pip3 でインストールできました。
pip3 install twikit
改めて Python スクリプト実行
python3 ~/python/test.py
これで無事、twikit を使った Python スクリプトが Conoha Wing から実行できるようになりました。