[ PC系セットアップ覚書 Top]

PC系セットアップ覚書

2011年まで「俺的な非 UN*X 環境をめざして」という題でしたが、 「UNIX系」と「非UNIX系」の区別がだんだん難しくなってきましたので、 あれこれ区別しないことにしました(^_^;


[前] MacOS 10.11 El Capitan で解像度 1080p 2023/09a

macOS 13 Ventura の SSHD 2023/05a


[Table of Contents]

はじめに

Mac のバージョンを Ventura 13.3 に上げました。 ちょっと動作が重くなったような気が なんとなく‥とか、設定画面が iPhone とか iPad ぽくなって驚き! ‥なんてこともありますけど、基本的には Monterey の時そのままの使用感で 使えてよかったなー、なんて思ってたんですけど。

しばらく使ってて気付きました。Mac の sshd がなんかおかしい。 他からこの Mac に ssh で接続できる場合と、接続できない場合がある‥。

[Table of Contents]

Mac の SSH のバージョンが上がった

そこで検索かけたところ。‥なるほど。Ventura から ssh のバージョンが OpenSSH 9.0 ベースになって、んで OpenSSH 8.8 以降のバージョンでは SHA-1 を使った ssh-rsa が 標準では使えなくなったんですね。 ただ大抵の環境では SHA-1 の ssh-rsa が使えなくなっても大丈夫なようになっている (他の接続方法にすでに対応済の)ため問題は生じにくいみたいなんですけど。 諸般の事情でアプリ・ライブラリのバージョンアップができないものがあって、 そういうのは ssh-rsa なしの 環境では通信できなくなってると。そういう感じみたいです。

[Table of Contents]

VLC で sftp (FTP via SSH) 接続できない

接続できなくなった! ことに私が気付いたのは具体的には VLC for Android というアプリです。Mac 上にある動画ファイルをAndroidタブレット/スマフォから 再生するため、VLC for Android から Mac に sftp アクセスに行こうとしても 失敗してしまう。そこで VLC の側のログを調べてみたところ、やはり。 Mac にアクセスした次の段階で no access modules matched というメッセージ、つまり 「サーバが ssh-rsa でのアクセスに対応してないから接続できないよ〜」と言っていて、 やはりこれか‥という感じです。

[Table of Contents]

VLC で ssh-rsa 以外のアクセスは可能?

この状況を何とかするのにまず考えるべきは以下:

  • (1) VLC の ssh 対応が何とからないか
これです。OpenSSH 8.8 で SHA-1 の ssh-rsa を外したというのはつまり、OpenSSH 開発者たちは SHA-1 を残してはいけないと判断したということですから、なるべく使うべきじゃないのは明らかでしょう。

そこで VLC の sftp 機能が ssh-rsa 機能以外に対応していないか、 もし対応していなければその理由は何か、というのを見てみたところ‥なるほど。

などを見ると VLC ユーザの間でも「最新の OpenSSL モジュールを使えば良いのに!」なんて話は出てるみたいですけど、 なんかモジュールのライセンスの絡みで OpenSSL は使えず、 今となってはかなり旧式になったモジュールを使い続けるしかない状況のようですね。 純粋な技術的問題ではなくライセンス絡みの話だとちょっと面倒くさそうで いつ解決しそうかメドも立たなさそうです。んー。


[Table of Contents]

SSHD で ssh-rsa を使えるようにする

ということで。仕方なくここで採用したのが以下:

  • (2) サーバ側の sshd の設定を書き換えて SHA-1 の ssh-rsa に対応させてしまう
ことです。今回サーバとして使っている mac はルータの奥に隠れて家の中の機械からしか アクセスできない状態ですから、まあ、この程度の穴をあけてもほとんど無問題でしょう。

[手順]

  1. ターミナルを開いて、管理者アカウントに su する   (普段使ってるユーザは管理者権限がないので sudo できない‥)
  2. 作業するディレクトリに移動してしまう
    $ cd /etc/ssh
  3. 正常稼働してる設定ファイルは直接いじらない。編集用コピーを作成
    $ sudo cp sshd_config sshd_config.edit2023
  4. 編集用コピーを編集。vi で編集するときはこんな感じ:
    $ sudo vi sshd_config.edit2023
  5. /etc/ssh/sshd_config に以下を追加:
    HostKeyAlgorithms +ssh-rsa
     編集したファイルを保存。
  6. 念のため、オリジナルのファイルを別名で残しておく
    $ sudo cp sshd_config sshd_config.orig
  7. 編集したファイルを元ファイルの名前にコピーしておく
    $ sudo cp sshd_config.edit2023 sshd_config
    コピーしたら編集したファイル(sshd_config.edit2023)はもう不要に 思えますが、しかしOSアップデートのタイミングで sshd_config が 更新されてしまう(+ssh-rsa の行が消されてしまう)ことがあり、 その対処のとき sshd_config.edit2023 が残っていると助かることがある‥かも
  8. Mac を再起動 (‥しなくてもOKなのか。昔なつかし inetd 式で launchd 経由で起動してるのか)

これで VLC for Android から mac に sftp アクセスできるようになりました! ただこれは一時凌ぎな方法ですから、VLC 側の何かのブレークスルーを期待したいですね‥



[次] [FFmpeg覚書] 動画に罫線を書き込む 2023/02b