Synergyの動作が時々怪しいことがあって(OpenBSD側はサーバ、Windows側はクライアント)、これの後継たるDeskflowへ移行します。しかし、OpenBSD-portsにそのパッケージは無いので、どうにかして動かすところから始める必要があります。どうにかして動かす部分については、きちんとした形にまとめたいと考えています。
Synergy→Deskflowへの移行で一番大きな変更点は、TLSによる暗号化がデフォルトで有効になっている点でしょうか。暗号化を使用した場合に問題が発生した場合は~/.config/Deskflow/Deskflow.confの[security]セクションにtlsEnabled=falseを書けば無効にできますが、これはなるべく使いたくありません。
とはいえ、何も準備をせずいきなりdeskflow-coreのみ動かすとサーバ/クライアント共に「WARNING: fingerprint does not match trusted fingerprint」が表示されてしまい、TLSを無効化しない限り接続できません。解決方法は以下のdeskflow(GUI frontend)を一旦使う方法か、別解があります。
- サーバ/クライアント双方でdesklowを起動し、どちらもTLS接続が有効になっていることを確認
- (クライアント側のみ)サーバに接続
- 「クライアントを信頼し接続を許可しますか?」(サーバ側)/「このサーバーに接続しますか?」(クライアント側)の問いが表示されるので、fingerprintを確認し問題が無ければ両方とも「接続を許可」する
サーバ側では、接続を許可したクライアントのfingerprintを~/.config/Deskflow/tls/trusted-clientsに保存します。ここに情報があれば、deskflow-coreのみでサーバを立ち上げても大丈夫です。クライアント側でも同様に、サーバのfingerprintをtrusted-serversに保存していますね。
過去の日記で、Synergyに言及している一番古いものは06-Jan-2008。18年ちょっとの間、大変お世話になりました(OpenBSDも4.2の頃から使っているので、もうそんな年月が経過したのですね…)。
♪
(別解)
deskflowで使用するTLSの鍵ファイル(deskflow.pem)は、Barrier.pemの作成方法を参考に、openssl req -x509 -nodes -subj /CN=Deskflow -newkey rsa:4096 -keyout deskflow.pem -out deskflow.pem で作ることができます。
trusted-clients/trusted-serversに登録するfingerprintについては、Deskflow - ArchWikiが参考になります。自分は openssl x509 -sha256 -noout -fingerprint -in deskflow.pem | sed 's/://g' | sed 's/=/ /g' | awk '{printf("v2:sha256:%s\n", $3)}' >> trusted-xxxx (クライアント側のdeskflow.pemを使うならtrusted-clients、サーバ側ならtrusted-servers)としました。57.4kg(23:25)