前回でSynology側の環境設定が出来ましたので、TeraTermで繋げて行きましょう。
ホストにはサーバーの「IPアドレス」もしくは「DNS名」で接続できます。
ちなみに、自分はIPアドレスでも入りましたし、DNSでも入れました。
最初なので、以下のメッセージが出ますが、もちろん「続行」を押します。
ユーザー名とパスワードを入力します。
パスフレーズとここでは書かれていますね。
パスワードをパスワード管理ソフトなどからコピペするときは「Shift」+「Insert」で入力しなければならないようです。
さ、接続されました。(入れました。)
赤で伏せている所には「ユーザー名@サーバー名」が書かれています。
では、ここからはコマンドを入力します。
export PATH="$PATH:/volume1/@appstore/py3k/usr/local/bin"
pip install pymysql
一行目にパスを入力します。これSynologyを利用するときは必ず入力します。おまじないですね。
二行目は参考としてMysqlをインストールしました。
下が実行例、上手く行ったようです。
と言う感じで、自分の利用するライブラリをインストールできるようになりました。
じゃ、環境が整ったらSSHでPythonを実行して見ましょう。
その為には、Pythonが保管されている場所へ移動しましょう。
cd ./Document/TOTO/TOTO_2021/01_Python
自分の場合は
サーバー名/Homes/ユーザー名/Document/TOTO/TOTO_2021/01_Python
というフォルダへPythonのファイルが保管されていますので、上記のコマンドを実行します。
SSHでユーザー名でログインしているので、ログイン以降のフォルダをしていればOKです。
Rootでログインすればまた別な入力となります。
CDはチェンジディレクトリですね。
今、ディレクトリとは言いませんね。フォルダになりますね。(古いな俺。。)
ディレクトリの文字は、大文字と小文字で区別されますので、しっかりと大文字、小文字を正しく入力しましょう。
現在のフォルダ位置は「pwd」と打てば表示されます。
で、Pythonの実行ですが
python3 01.py
ファイル名が01.pyなので、それを実行します。
注意点はPythonがPython3なので、「Python3」と入力することです。
これでSSHでPythonが実行できました。
簡単に書いてますが、windowsパソコンと環境が違うので、ちょっと直したりするところがあったりして、ちょっと大変でしたね。
これで、タイムスケジュールにて実行する準備が出来ました。
まとめ
pip インストールするとき
export PATH="$PATH:/volume1/@appstore/py3k/usr/local/bin"
pip install pymysql
Pythonを実行するとき
export PATH="$PATH:/volume1/@appstore/py3k/usr/local/bin"
cd ./Document/TOTO/TOTO_2021/01_Python
python3 01.py
と言った感じで、簡単に書いてますが、ちょっと色々と巡り勉強させてもらいつつ辿り着いています。
参考にさせて頂いてサイトの方々には感謝しかありません。
追記
全くこれだからSSHは怖いですね。
自動でブロックされたので問題ないのですが、この記事書いたら早速、SSHで侵入を試みられました。
てか、ポートは閉じてなかったのですが、ユーザー名とパスワードをクラックできなかったのと、自動ブロックで遮断されました。
上はログですね。短時間による大量のアタックを試みていますね。
危険なので、自動ブロックを見直しましょう。
設定は以下です。
コントロールパネル→セキュリティ→アカウント
一定時間に何回以上ログインしようとするとブロックするか?という設定です。
今回は短時間で一気に突破しようとしているので、割とすぐ自動ブロックされましたので、設定の検証になって良かったです。
反対に長時間掛けてゆっくりログインを試みるという手法もあるようです。
なので、自分は長めの時間も考慮して設定しています。
で、自動ブロックされたものはリストにありました。
シンガポールからだったようですね。このままブロックリストに入れたままにしておきましょう。
という訳で、セキュリティには気を付けないといけないですね。
早速、閉じるの忘れてたポートを閉じました。
ま、しばらくSSHはやらないだろうし。
あと、Admin、User、guest、rootと言った一般的でよくあるアカウントは削除した方が良いです。
侵入を試みる所でそのへんのアカウントを試しているのが分かります。
今、Synologyだと、自動的に使えないようにしていますね。
なので、長めのアカウント名&長めのパスワード名がやっぱり良いと思います。