Raspberry Piのシェルで、Pythonのデバッグのとかしたいよね。だからVSCodeでSSHで接続した。
Windows上で開発していたDjangoプロジェクトをSambaを使ってファイル共有して作成していたのですが、Windows上では動くが、Raspberry Pi OS上では一部のコードが、OSの仕様で動かないという小さい不具合が起きたので、直接Raspberry Pi OSのシェルで動かそうとやってみたわけです。
手順通りやったのに動かない。原因はSSH秘密鍵のセキュリティ権限設定
SSHでの接続は下記の記事が非常にわかりやすかったです。
ただ、VSCodeのSSH接続の仕様変更があったのか、上記の設定だけでは、下記のようなエラーが出て動かない
Load key "C:\Users\\id_rsa": bad permissions
pi@192.168..**: Permission denied (publickey).
プロセスが、存在しないパイプに書き込もうとしました。
このエラーは、秘密鍵のクライアント側のセキュリティ権限が複数ユーザーに割り当てられていると動かないという仕様変更があったのか、秘密鍵をConfigファイルで指定した場所に置くだけでは動かない用になっていたのが原因でした。
実際どうやるの?
SSHの秘密鍵の権限設定は、秘密鍵のファイルの上で右クリックして出てくる、プロパティ
セキュリティ設定(ここのオブジェクト名の欄に複数のユーザー設定があると動かない)
詳細設定
継承の無効化
継承されたアクセ許可をこのオブジェクトの明示的なアクセス許可に変換します
使っているWindowsのユーザー、プリンシパルのみ残し、適用してOKで終了です
この設定にたどり着くのに小一時間かかりました。疲れたなぁ~。