0 と 1 の世界の見習い探検家

カテゴリ: パソコン日誌

CentOS Stream 9 の VPS ホストに公開鍵暗号方式での SSH 接続を構成している際に躓いた部分について備忘録に遺します。


起こったこと (あえて事実ベースで記載)

・さくらインターネット様 (以下 SAKURA) で VPS を契約し、SAKURA から標準提供されている OS "CentOS Stream 9" を選択しホストをセットアップ。
 "VNC コンソール" で SSH アクセスを構成しようとした
 (結果として、SAKURA と VNC コンソールは無関係)
・ローカル PC 端末上の ssh-keygen コマンドでパスワード以外のオプションを指定せずに発行した公開鍵、非公開鍵のうち、公開鍵をサーバの authorized_keys ファイルに転記
・Windows 10 標準機能の SSH クライアント経由 (PowerShell 経由) で、非公開鍵を利用し、アクセスできたことを確認 (正常)
・TeraTerm で同じくアクセスしようとしたところ、認証に失敗 (異常)

20220409temp-01

・TeraTerm からの認証がコケた際にサーバ側の /var/log/secure に次のログが出力されていることを確認
userauth_pubkey: key type ssh-rsa not in PubkeyAcceptedAlgorithms [preauth]


解決策

次の記事に従い、TeraTerm にて公開鍵、非公開鍵を再出力し、ローカルとサーバに再配置した結果、TeraTerm でも認証が通るようになった
※手法は下記記事を参照




原因

下記記事は CentOS で発生した事象に関するものではないが、原因としては概ね一致しているものと思われる。
下記記事にも対処法に関する記載があるが、CentOS Stream 9 に適用する場合は前述の解決策で示した記事の流れに従うほうが適している模様。





サーバ側に出力されたエラーメッセージと "CentOS Stream 9" のキーワードで流れ着いた方の御役に立てれば幸い。。。
ナレッジを公開いただきましたお二方、ありがとうございました。

問題を解決したため、症状と解決法について遺しておきます。

発生症状
 ・一部ウェブサイトに接続できない、タイムアウトする
  Firefox で「修復不能なネットワークプロトコル違反が発生」などのエラーが発生する、またはタイムアウト
  そのようなサイトには Chrome でも接続できない
 ・接続できるサイトもある (Google など)
 ・接続できないサイトについては、ホストに対する ping も通らない

私が遭遇した上記事象の原因
 イーサネット アダプタが一時的にバグった

解決手法
 ドライバの再インストール

解決方法 (実施は自己責任でお願いいたします)
 実施対象端末では、再起動完了まで一時的にインターネットへの接続が完全にできなくなります。

 手順はドスパラさんが画像付きで細かく解説してくれています
 > ネットワークアダプターのドライバーを再インストールする方法 ( Windows 10 )

 ドスパラさんにすら繋がらない方向け (ざっくり)
 1. スタート アイコン (タスクバー左端) を右クリックし、[デバイス マネージャー] を開く
 2. "ネットワーク アダプター" を一覧内から探し、選択して中身を展開
 3. 対象のアダプターを右クリックし、[デバイスのアンインストール] を選択
  ※お使いの PC によってアダプターの名前が変わります
 4. "警告: システムからこのデバイスをアンインストールしようとしています。" の画面が表示されたら…
  ・"このデバイスのドライバー ソフトウェアを削除します。" にはチェックを入れない
  ・[アンインストール] をクリックする
 5. Windows を再起動する (起動時に自動的にドライバが再インストールされる)

謝辞
 ドスパラ様、ありがとうございました。
 

どうも、こんにちは。
あおとです。

PowerShell で Windows 内にインストールされている一番新しいバージョンの .NET Framework の C# のコンパイラを呼び出し、C# のソース ファイルを EXE にコンパイルするコマンドをご紹介します。
2021 年の記事ですが、 .NET Core や .NET 5 ではないです。ごめんなさい。

更新すると言いつつ、この頃全く更新ができていなかったため、久々に更新します。
書くことに意義がある、というスタンスの記事のため、役に立つ内容かどうかは取り敢えず一旦横においておくとして。


結論
$SourceFile="example.cs"
$LatestVersionCSharpCompilerPath=(Get-ChildItem "C:\Windows\Microsoft.NET\Framework\v*\csc.exe" | ForEach-Object { $_.FullName } | Sort-Object)[-1]
Invoke-Expression ($LatestVersionCSharpCompilerPath + " " + $SourceFile)

この 3 行で C# のコンパイラを探してソース ファイルをコンパイルします。


1 行目: $SourceFile="example.cs"
至ってシンプルです。C# のソース ファイルを指定します。フルパスでも良いですし、パラメータで受け取る形にしてあげても OK。

2 行目: $LatestVersionCSharpCompilerPath= ~ (略)
C# のコンパイラ "csc.exe" を検索します。
検索と言っても場所は大体決まっているため、条件に合う csc.exe を列挙したのち、パスをソートし一番最新のモノを引っ張り出しています。

3 行目: Invoke-Expression ~ (略)
コンパイラを実行します。
csc.exe には他のアセンブリ (DLL) の参照や、出力されるアセンブリのタイプを指定するオプションが存在しますが、
例えばプロンプト画面 (黒窓) を使用しない Windows Forms などのアプリをコンパイルする場合は、下記のような形で指定ができます。

Invoke-Expression ($LatestVersionCSharpCompilerPath + " -t:winexe " + $SourceFile)

csc.exe のオプションに関しては、下記記事を参照されたし。
カテゴリ別の C# コンパイラ オプションの一覧 | Microsoft Docs https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-options/listed-by-category

以上。

どうも、久々の更新です。

予てより企んでおりました、VPS への移管が完了しました。
何を移管したかと申し上げますと、私のウェブサイト (https://www.a32kita.net/) です。

実は、今年の 3 月頃には VPS を契約して、構成でトライ・アンド・エラーを繰り返し、
9 ヶ月経った 12 月の今、やっと構築を終えることができたわけです。

とても時間がかかりました。

9 ヶ月も要した理由には、仕事の都合などいろいろありますが、
主にリバース プロキシの設定で手こずったというところが大きいです。

今回ウェブサイトの移管先となりました VPS の構成がこちら;

EopN2hbU8AIBNbJ

インフラは SAKURA さんです。
かなりお安めの構成を選んだはずですが、思ったよりも軽快。

Apache をリバース プロキシとして利用し、Docker 上でコンテナとして動作する各種アプリケーションや、ウェブサイトを 1 台の VPS でホストしてしまおうと言うもの。

当初はリバース プロキシに nginx を利用する構想もあったのですが、これがなかなかうまく行かず。
先日参加した .NET のとある勉強会で教わった YARP (Microsoft 謹製リバース プロキシ ツールらしい) を活用してみようと試みたものの、そもそも ASP.NET の経験が皆無な私にはうまく扱えず。。
諦めて Apache を利用することにしました。


今後、構築の中で遭遇したトラブルや解決策などをアウトプットとして残していければと思います。
そういうトラブル解決系の記事は Qiita でもいいかな…?



それはそうと、Yahoo! ブログから引っ越してきて約 1 年。
放置気味だったこのブログではありますが、メインのウェブサイトの VPS 移管に伴う SSL 対応で、このブログも SSL 対応しました。
びっくりしたのが独自ドメインなのに SSL 対応しているライブドア ブログ、、とても親切ですね。

積極的に更新していきたいと思います。

イメージ 1


左から HTL21 (HTC / SIM ロック / au) 、Zenfone 4 (ASUS / SIM フリー / mineo) 、 AQUOS sense lite (SHARP / SIM フリー / 未契約) 。

先日一番左の HTL21 が故障しました。
スリープ関連などの操作で電源ボタンに触れると、再起動のループに陥ってしまう現象。。

データをなんとかバックアップして端末のソフトウェアを初期化してみたのですが、状況は悪化しませんでした。

どうしたものかと相談を持ちかけたショップでバッテリーの膨張が発覚。。
かなり古い端末でしたので、バッテリーの交換対応というのも難しく、、

もともとすでに TSL 関連のサポートが切れており、複数のアプリや様々な Web サイトが利用できないという状況でした。
というわけで、端末の買い替えを決意。

もう au で端末を購入して、通信料の中に端末関連の管理維持費用が含まれるのも嫌だったので、 SIM フリー端末を購入しました。
SIM カードのサイズが異なるので、ショップで交換してもらえればすぐ利用できるようになる、そう考えていたんです。。
しかし実際は、キャリア以外で購入した端末は動くかどうかの保証ができない、事前に SIM カードをお借りしてショップなどで試すことも出来ない、とのことでした。ついでにキャリア外から持ち込んだ端末はデータ通信に別途オプションが必要になるとのことで、、

今回購入した端末は VoLTE 対応ということだったので、完全に利用できるものと思い込んで油断しておりました。

というわけで現在の回線の契約の解除を決意。
MVNO への乗り換えを決定致しました。

タイミングがタイミングなので、今月内に現在の回線 (au) を解約できるかが勝負です。
月額制で日割りできない契約なので。
乗り換え先は以前より試用していたmineo 。
au で急いで MNP 用の予約番号を発行し、 mineo に登録しました。
年末なので、回線切替完了までの遅れが見込まれますが、どちらにせよ au で使える端末はもう手元にないので、選択の余地はありません。

au さん、今までありがとうございました。

このページのトップヘ