SSHで接続できない

イメージ
 Ubuntuを24.04→26.04 時間があったので、メインマシンのUpgradeを実施。 とはいえ、とはいえ、システムディスク(/)とデータディスク(/home)を分けているのでクリーンなインストールを実施。 (1) USBでUbuntu26.04を起動 (2) /home/user → /home/user_old にリネーム (3) 26.04をインストール これで、/home/user_oldにこれまでの環境が残ったまま、新規userでインストールすれば完了。もともとのuserが使用していたuser_id:1000のままなので、どちらのフォルダも見ることができる。 あとは、使用するソフトをインストールし  /home/user_old 以下から、利用する設定ファイル等をコピーして動作確認するだけ。 Dropbox MEGA などは、先にコピーしてから、フォルダ同期設定をすることで、ダウンロードなどはチェックのみで完了する。 thunderbird brave browser vscode dbeaver-ce typora obsidian LMStudio ollama あたりを移行してほぼ終了 .sshはそのままコピーして完了。 と思っていたら、何故かサーバによっては接続できない場合があることに気づいた。 $ ssh vps 何も返ってこず、接続できない。 でこれまで接続できていたのに、うまく行かない?? 詳細を確認しながら、チェックすることに。 $ ssh -vv vps debug1: OpenSSH_10.2p1 Ubuntu-2ubuntu3.5, OpenSSL 3.5.5 27 Jan 2026 debug1: Reading configuration data /home/user/.ssh/config ︙ debug2: we sent a publickey packet, wait for reply debug1: Server accepts key: /home/user/.ssh/id_rsa RSA SHA256:n5ocPbCvMV4FGFof … … … … … pBuJ/8r/kHGANY explicit agent のように、 認証完了後にシェルが起動せず、応答がない状態になっている。 具体的には ...

LinuxでC#

Ubuntu上でC#を使う

Windows7/10にVisual Studio Communityを入れれば、すんなりと環境は構築できる。

でも、メインマシンがUbuntuなので、VMのWindowsを起動して、その上で動かすのが時間もかかって面倒なのですよ…。
 しかも、めったにWindowsを使わないため、起動するたびに更新の罠にはまって、使い始めるのに時間がかかりすぎるという状況。

そこで、Ubuntu上で、普通にコードがかければ楽じゃね?と思い探してみる。



コンソールアプリならOK

結果的には、コンソールならWindowsと何ら変りなく利用できることが分かった。

マイクロソフトのサイト

へ行けば、以下の手順が乗っている。

curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-xenial-prod xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
まずは、上記のリポジトリを追加

そして、以下のコマンドで.NET関係のインストール。

sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.1.105

あとは、いつも使っているVisual studio codeで、マイクロソフト製の拡張機能を入れれば良い。

拡張機能も、ページの下の方に書かれている。
https://marketplace.visualstudio.com/items?itemName=ms-vscode.csharp


vscodeの拡張機能で、「c#」で検索すればすぐに見つかるはず。

でもって、入れればその他必要なものは、インストールしてくれる仕様だ。


実際に動かしてみる

まずは、適当な作業用ディレクトリで、プロジェクトを作成する。
$ cd tmp
$ dotnet new console -o myApp
これで、myAppというフォルダが掘られて、雛形ファイルがザザッと作られる。

Program.csという雛形が出来上がっているので、これを編集することになる。

この辺りの、ファイル・フォルダ構成がvisual studioと同じになっているのが、ある意味素晴らしい。


実行すると以下のようなメッセージが表示される。

$ dotnet new console -o myApp
テンプレート "Console Application" が正常に作成されました。
作成後のアクションを処理しています...
'dotnet restore' を myApp/myApp.csproj で実行しています...
  Restoring packages for /home/yoshimura/tmp/myApp/myApp.csproj...
  Generating MSBuild file /home/yoshimura/tmp/myApp/obj/myApp.csproj.nuget.g.props.
  Generating MSBuild file /home/yoshimura/tmp/myApp/obj/myApp.csproj.nuget.g.targets.
  Restore completed in 492.65 ms for /home/yoshimura/tmp/myApp/myApp.csproj.
正常に復元されました。
最後の「正常に復元されました」というのは、少々気持ち悪いw

vscodeで開いてみる。

別にHello Worldは無しでも良いのだけれど…。

しかも、このままDebug可能と来たもんだ!
もちろん、以下のコマンドで実行も可能。

$ dotnet run

これなら、visual studioなしでも、ちょろっと書いてテストするには充分。

何となくMicrosoftの本気度を垣間見た気がする。

コメント

このブログの人気の投稿

MEGAにも弱点があった?

Ubuntu24.04 でGUIが死んだ

VirtualBoxでUSBを使う方法が分かった!