雑記(2022/7/2)

 Linuxよくわからない勢の一人だけど、サーバーOSは大学で知り合った人がCentOSを使っていたというのもありCentOSを採用している。
昨年の今頃くらいにCentOSのあり方が変わることを耳にし、今後を考えないといけないなあと思っていた。
期限切れは2024年6月であるものの、kifuyu.netの運用環境が若干古くなってきたこともありサーバー再構成とOS変更を同時に実施することにした。
 いっその事、個人・開発用途であれば無償で使えるRHELにしてみるのもありだったけど、特に思い入れもないのでDebian系のUbuntuを導入した。

この日の新鯖における作業は下記の通り。

  • ユーザの追加
  • SSHの設定
  • Fail2banの設定
  • DBのkill

>SSHの設定
“SSH2 User Auth Failure “publickey,gssapi-keyex,gssapi-with-mic”
Status=1004 Send Disconnect Message…
publickey(ssh-ed25519),publickey(ssh-ed25519)”

上記のポップウィンドウが出てきてしまって見事にハマった。
公開鍵のフォーマットを見直したら、ようやくsshでの通信が通った。
楽しようとRloginで生成したけど、結局ssh-keygenで生成した方がスムーズに行けたという。原因はopensshの設定にあるのか、Rloginのせいなのかよくわからん。後者ぽいけど。

//Rloginで生成
-----BEGIN OPENSSH PRIVATE KEY-----
*****
-----END OPENSSH PRIVATE KEY-----
->
//ssh-keygenで生成したやつ。
ssh-ed25519 ***** hogehoge

 sshdの設定ファイルは、/etc/ssh/配下のsshd_configをsshd_config.dへコピーして、hogehoge.confへリネーム。
また同ファイルを下記の設定に書き換え。

// コピー先の*.conf内のincludeをコメントアウト
- Include /etc/ssh/sshd_config.d/*.conf
+ # Include /etc/ssh/sshd_config.d/*.conf

// ポート番号変更。Firewallの設定も忘れずに。
- Port 22
+ Port hogehoge

// rootユーザでログインはしないので無効化
- PermitRootLogin yes
+ PermitRootLogin no

// 公開鍵認証に限定のため変更。公開鍵使ってるのにあえて"yes"を指南する記事があったけど何故…
- PasswordAuthentication yes
+ PasswordAuthentication no

// コメントアウトしないと何故かエラーが発生する。"Failed to start OpenBSD Secure Shell server."
- Subsystem sftp /usr/lib/openssh/sftp-server
+ #Subsystem sftp /usr/lib/openssh/sftp-server


 authorized_keysはssh接続するユーザのディレクトリ配下(home/hogehoge/.ssh/)に置いとく必要がある。
しばらくrootのディレクトリに配置していたせいで接続できんかった。。

カスペルスキー環境下でDiscordが起動しなくなったので直した話


 Discordが起動しなくなってしまった。スプラッシュウィンドウには”Update Failed”の文字。
そして延々と”Retrying in xx Sec”が表示されたまま一向にアップデートが終わらず、アプリケーションが立ち上げできない状況だ。
 Deep Lも似たような匂いを醸しており、”err_connection_aborted”または”err_connection_reset”が赤い背景とともに表示されて使えなくなってしまった。
両ソフトとも相手先サーバに接続する際のトラブルと見受けられ、自身のPC環境が原因として疑われる。最近はネットワークの設定を触っていないため、原因はウイルス対策ソフト(カスペルスキーインターネットセキュリティ)と思われた。実際のところ、停止をかけたら両ソフトとも起動したため、こいつの挙動が原因で間違いなし。

 問題はどの設定が原因か…なのかであり、少し時間をかけてしまったがウイルス対策ソフトのユーザフォーラムを参考にしたら解決できたので、備忘録として残す。

https://forum.kaspersky.com/topic/community-plugins-access-blocked-in-obsidian-notetaking-software-obsidianmd-24805/?do=findComment&comment=106409

もともと別アプリケーションで起きた不具合に付随して、Discordなどのアプリケーションも立ち上げに失敗してしまうというスレッド。それに対するメンバーのアドバイスが上記リンク先で読める。
内容は下記の通り。(オレンジ表記は意訳箇所)

  1. タスクバーにあるKasperskyのアイコンを右クリック→”設定”から”全般”にアクセスする。下にスクロールすると”セルフディフェンス”の項目があり、“セルフディフェンスを有効にする”をクリックしてチェック無し(無効化)にする。これはKasperskyの設定を触るための一時的な作業であり、後ほど元に戻す作業(有効化)を行う。
  2. Kasperskyを終了するため、”保存”を押したらタスクバーにあるKasperskyのアイコンを右クリック→ “終了”に進む。危険性がどうのこうのと表示されるが無視して”OK”でおk。
  3. 次のフォルダにアクセスする。C:\ProgramData\Kaspersky Lab\AVP21.3\
    ”AVPxx.x”は自身が使っている最新のバージョン名のものを選べばいい。AVPxx.x配下にある”Report”フォルダを”Report1“にリネームする。
    先のセルフディフェンスを無効化+Kasperskyを落とす作業をしておかないと、権限を理由にリネームできない。更新作業時に当該フォルダの情報を読み取らせないことが目的。ちなみに、リネームとあるが削除しても問題なさそう。Kasperskyが起動しなくなったときのサポート連絡に備え、または単純なバックアップや自己検証用に残すため採番しているようだけど、不要だと思うなら削除で良さそう。自分の環境だと5GBくらいあったためリフレッシュを兼ねて削除した。
  4. パソコンを再起動ではなくシャットダウンする。電源ボタンを押してログインしてKasperskyを起動する。
    副次的なエラー防止のためのお約束作業かな。ReportフォルダはKaspersky起動時(自動起動時)に再作成される。(なお、シャットダウンというか再起動もせずに状況改善されたけど自己責任で。)
  5. 1.で無効化したセルフディフェンス機能を有効化する。

 当初は”脅威と除外リスト”の設定からDiscordの実行ファイル本体を検疫対象外にすれば解消できると思っていた。
Discordの挙動として、”C:\Users\<username>\AppData\Local\Discord\”にあるUpdate.exeがスタートアップで起動し、次に”..\Discord\app-x.x.xxxx”内のDiscord.exeが実行される模様。そこで、試しに2つともリストにいれたのだけど…全然解決できず。つまらないことで結構な時間を格闘することになってしまった。。。

 専門家ではないので深追いはしないけど、原因は一時ファイル(g_objdt.dat)にありそう。収集したデータを元に怪しい通信ポートを遮断している?再構築したことで学習がリセットされた?Reportフォルダには他にも色々保存してあるけど、あまり関係なさそうなんだよなあ。。(https://support.kaspersky.co.jp/help/Kaspersky/Win21.5/en-US/144978.htm


結局のところ、なぜ通信できなくなったのかはわからないまま。今後のために誰か教えてほしい…。

Thanks, ‘Flood and Flood’s wife’-san!! 助かりました。

以下参照先、
Community Plugins access blocked in Obsidian Notetaking software Obsidian.md
As of Apr 27, Kaspersky causes Microsoft Edge and Opera GX browsers to fail to load web pages


HP T1000Jについて

とある筋から入手したUPS(ヒューレットパッカード社製 HP T1000J)は我が家にきて稼働5年目を迎える。
今日に至るまで雷による停電からメインPCとサーバを守ってくれたし、電気の使いすぎでブレーカが落ちた際もシャットダウンまで保ってくれたGood jobなヤツです。
HP T1000 G3というモデルの日本ナイズ化(100V)化された仕様であるものの、個人用途には使われないためか調べたいときに肝心な情報が見当たらなかったので覚えとしてまとめる。

UPSは必需品ですわ。今のところ買い替えは不要だけど、壊れたらどこのメーカがよさげなんだろうか。

PCI Expressの仕様書が読みたい

ちょっとした興味が湧いてPCI Expressのことを調べている。PCI Express設計の基礎と応用(畑山 仁)は今読んでる本で、やりたいことへの足がかりになればいいなと思ってる。。
並行してPCI Expressの仕様書が読みたく、ネットをしばし彷徨ってみた。以下、自身のメモ。

・ PCI Express®Base Specification Revision 3.0(November 10, 2010)
https://git.sijman.nl/_/ros/media/branch/master/documentation/PCI_Express_Base_3.0.pdf
・ PCI Express®Base Specification Revision 2.0(December 20, 2006)
https://www.cl.cam.ac.uk/~djm202/pdf/specifications/pcie/PCI_Express_Base_Rev_2.0_20Dec06a.pdf
・ PCI Express®Base Specification Revision 4.0 Version 0.3(February 19, 2014)
https://astralvx.com/storage/2020/11/PCI_Express_Base_4.0_Rev0.3_February19-2014.pdf

・ PCI Express 5.0 Update:Keys to Addressing an Evolving Specification
https://www.tek.com.cn/-/media/china-marketing-documents/pcie/pci-express-5-update-keys-to-addressing-an-evolving-specification.pdf



Jupyterlabの起動に失敗する(2022/4/17起動した)

webスクレイピングがしたくてPythonの勉強を始めることにした。
実行環境はjupyter labと呼ばれるソフトがwindowsでも使えるクロスプラットフォーム仕様だと知り、さっそく環境を整え始めてみたところ下記のようなエラーが登場。。

Jupyter Server Initialization Failed
Error; Jupyter Server process terminated before the initialization completed

起動直後に”Jupyter Server Initialization Failed”なんていう画面が出る羽目に…。

Change environmentを触っても改善できないし、なんでだ??


(2022/4/17追記) 結局原因は分からず、Jupyterlabの再インストールで解決したという全くもって間抜けな幕引きとなった。
当初、エラーの原因は”nativeWindowsOpen”なる関数の値かと思っていたが、調べてみると単にNot recommendedを警告してるに過ぎないことがわかった。
The default of nativeWindowOpen is deprecated and will be changing from false to true in Electron 15.

このあとに“Jupyter Server initialization message: Traceback (most recent call last)~”ってのが続き、最終的には”ImportError: DLL load failed while importing _ssl”として、DLLのインポートがうまくできなかったと表示される。画像の通り、肝心のDLL名あるいはその内容は文字化けしている。日本語環境由来のエラー?


でもローカルユーザ名はアルファベットにしているしなんでだろう…。あるとすれば、ユーザ名Public(パブリック)を2バイト文字で認識して読み込んでいるため、ファイルパスが読み取れていない?

…うーんよくわからん、、DLLも手動で入れたくない、、
ということでクリーンインストールに至り、結果として無事にJupyterが起動してしまった。。(インストール先はgeneralな場所じゃなくて、2バイト文字が含まれないpersonalな場所)

以下参照先、
Jupyter Server Initialization Failed · Issue #381 · jupyterlab/jupyterlab-desktop · GitHub
[Bug]: Webview is causing the warning “default of nativeWindowOpen is deprecated” · Issue #31784 · electron/electron · GitHub
「Electron 14」が正式公開 ~次のバージョンからリリース間隔は12週間→8週間に – 窓の杜