投稿

5月, 2020の投稿を表示しています

ssh-rsa,非推奨のお知らせ

2020-05-28T14:11+9:00 追記これは SHA-1 を用いた RSA 鍵についての話で,OpenSSH 7.2 以降で生成・利用される RSA 鍵はまだ利用可能です2020-05-28T19:27+9:00 追記既に生成されている RSA 鍵でもホスト・クライアントの両方が OpenSSH 7.2 以降ホスト・クライアントの両方が OpenSSH 7.2 以降,ただしサーバー側は OpenSSH 7.4 以外であれば SHA-2 で署名するので大丈夫なようです。(OpenSSH 7.4 はバグがあるようです)ssh-rsaという名前は"公開鍵の形式"と"公開鍵を使った署名方式"の二つで使われていて、廃止対象となっているのは署名方式の方だけです。なのでOpenSSH 7.2以降を入れれば、鍵自体は古いOpenSSHで生成した物がそのまま使えます。— いわもと こういち (@ttdoda) May 28, 2020openssh-unix-devで指摘が出ていますが、OpenSSH 7.4のバグで、サーバ側が7.4だとrsa-sha2-256/512が使えると通知してこないのでssh-rsaでユーザ認証が行われてしまいます。これはユーザ認証時のみの問題で、ホスト鍵の確認には影響しません。 https://t.co/oyNVS08jGI— いわもと こういち (@ttdoda) May 30, 2020本文OpenSSH 8.3 がリリースされたとのこと OpenSSH 8.3 released (and ssh-rsa deprecation notice) [LWN.net]これに伴ない,ssh-rsa は将来的に deprecate になり,デフォルトでこの鍵形式を利用する機能自体が無効化されることが改めて告知されました。サーバー側がこの形式を利用しているかどうを確認するには,`HostKeyAlgorithms` ディレクティヴから ssh-rsa を取り除いた上で以下のコマンドを使うことssh -oHostKeyAlgorithms=-ssh-rsa user@host`HostKeyAlgorithms` は ~/.ssh/config で利用する鍵形式を指定できます。現在は SHA-1 ハッシュを用い…

Linux kernel のコードをパッチレベルを指定して入手

URL を覚えていて手癖で簡単に入力できるという理由で Linux kernel を手元に持ってくるときにはよく git clone https://github.com/torvalds/linux.git をしてしまうのだが,ここで git checkout をマイナーバージョンまでではなくパッチバージョンまでのレベルで指定しようとすると,そのようなタグはないと言われる。 error: pathspec 'v4.1.8' did not match any file(s) known to gitこれは GitHub にあるミラーレポジトリはリリース候補のタグしか置いてないためで,kernel.org にある linux-stable の Git レポジトリを利用しないとパッチバージョンのタグが打たれていない。 git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linu.git このレポジトリを利用すれば,パッチバージョンでの変化や歴史を Git で追いたいときに便利だ。 $ git checkout v4.1.8 HEAD is now at 36311a9ec490 Linux 4.1.8もっとも,Git の機能を利用せずコードを読むだけなら tarball をダウンロードするほうが手っ取り早い。 curl -LO https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.1.8.tar.xz

素の Windows からリモートホストの macOS や Linux にクリップボードのテキストを流す

PowerShell で次を実行$OutputEncoding = [Console]::OutputEncoding Get-Clipboard -Format Text | ssh macOS_host "iconv -f sjis -t utf8 | pbcopy" Get-Clipboard -Format Text | ssh Linux_host "iconv -f sjis -t utf8 | xsel --clipboard --input"上記のコマンドで,リモートの macOS ホストと Linux ホストそれぞれのクリップボードにローカルのクリップボードのテキストが転送されます。最初のほうで OutputEncoding を上書きしているのは,これをしないと Get-Clipboard コマンドレットの出力が us-ascii でエンコードされるので,クリップボードの中身が日本語だと化けます。ちなみに ASCII のテキストなら Get-Clipboard -Format Text | ssh macOS_host "pbcopy" だけで済む。逆に,macOS や Linux のホストのクリップボードを手元に持ってきたいときは,macOS なら pbpaste,Linux なら xsel --clipboard --output を使ってください。あと言わないでもわかることだとは思うけど,PowerShell の Get-Clipboard/Set-Clipboard コマンドレットや macOS の pbcopy/pbpaste コマンドはデフォルトで使えますが Linux の xsel コマンドは自分でインストールしなくても必ず存在するとは限りません。ちなみに,とくに Windows ホストに外部コマンドをインストールしてはいけない縛りとかないのなら,win32yank を導入するのはオススメ。

Oculus Quest と Virtual Desktop でモニタが一枚しかない部屋でマルチモニタを実現したい

イメージ
前提VR HMDで VR 空間に埋没してかっこいい空間を広々使ってお仕事したい現実世界の PC がモニタ 1 枚しかない画面出力端子を適当なドングルで埋めて fake monitor を召喚する手もあるがソフトウェアで解決したいところどういうことなのか実は去年末に Oculus Quest を購入していました。そのうち記事にするかも。それはそれとして,Oculus Quest を買ったのは『狼と香辛料 VR』が気になってた,というのと,サイバーパンクでありがちな,半透明のウィンドウが自分を取りかこむようにぶわーっと浮いて広がってるやつ,あれをやりたいという理由でした。みなさんお気付きかと思いますが,後者の目的なら HoloLens とか買うほうが実現しやすいとは思います。でも高い。しかし Oculus Quest はスタンドアローンで 6DoF なワリには安い。それに Oculus Go を買うぞ買うぞと言い続けて結局 Oculus Quest 開発中の発表を見てしまったので,発売したら絶対買うぞ!と思ってました。それでいい加減に腹決めて買ったのが去年末。で,VR 世界でデスクトップ環境を実現する方法はいくつかあります。たとえば私の理想に近いのは Linux のデスクトップ環境である SimuraVR でしょう。しかしこれは HTC Vive か Vavle Index あたりでしか利用できないようです。Oculus Rift S なら OpenXR に対応しているので,かろうじて使えるようですが,Oculus Quest は PCVR に対応しているとは言えども Oculus Link が必要で,この Oculus Link は Windows の Oculus ランタイムアプリに依存しています。血も涙もない。故に Oclus Link+Virtual Desktop で,なんとかマルチモニターを仮想的に実現して気分を良くしたかったのでした。やりかたハードウェア素直にやるなら,ハードウェアでごまかすことが手っ取り早いです。有名な手段としては,GPU の DP 端子に DP→VGA 変換器を取り付けて,Dsub 15-pin の VGA 端子,これの 2-pin と 7-pin を 102Ω 抵抗で結線します。こうするとモニタが接続されていると誤認識されるのです。…