vscode remote ssh 使って ラズパイのファイルいじる
- 概要
- やり方
- ①PC上で公開鍵と秘密鍵を作成
- ②公開鍵をRaspberryPiへ送信
- ③公開鍵のパーミッション変更(RaspberryPi側)
- ④各種SSH設定の変更
- ⑤認証設定の保存
- ⑥SSH接続のテスト
- 参考サイト
概要
vscode remote sshの機能使って開発したほうが楽だと思ったので、やり方をメモしておく。
動作環境&筆者のPCスペック(実際に動かした)
環境
- Ubuntu18.04 LTS(実機)
- ubuntu18.04 server(RaspberryPi 3b+)
PCスペック
- Corei7-8665 QadroP520 メモリ32GB
やり方
①PC上で公開鍵と秘密鍵を作成
②公開鍵をRaspberryPiへ送信
③公開鍵のパーミッション変更(RaspberryPi側)
④各種SSH設定の変更
⑤認証設定の保存
⑥SSH接続のテスト
①PC上で公開鍵と秘密鍵を作成
- コマンドプロンプトで下のコマンドを実行します(メールアドレスは任意です)
ssh-keygen -t rsa -b 4096 -C "email@example.com"
後は、Enterを押して(連打)進んでいきます
②公開鍵をRaspberryPiへ送信
(権限関係でハマるので、絶対に「sudo mkdir」としないでください)
~$ mkdir ~/.ssh
もともとあれば大丈夫です。
- PC側で下記コマンドを実施し、SSH通信で公開鍵を送信
(この時点ではパスワード認証を使用)
~$ cat ~/.ssh/id_rsa (公開鍵の場所) ~$ scp -P [ポート番号] id_rsa.pub [ユーザ名]@[RaspberryPiのIPアドレス]:/home/[ユーザ名]/.ssh
多分、ポート番号はデフォルトの場合、22だと思う。
③公開鍵のパーミッション変更(RaspberryPi側)
RaspberryPi側で下記コマンドを実行します。
- id_rsa.pubの内容をauthorized_keysに追加
~$ cd ~/.ssh/ ~$ cat id_rsa.pub >> authorized_keys
- authorized_keysのパーミッションを600に
~$ chmod 600 authorized_keys
~$ chmod 700 ~/.ssh
- 公開鍵ファイルを削除
~$ rm ~/.ssh/id_rsa.pub
④各種SSH設定の変更
- SSHのセキュリティを向上させるため、下記の設定変更を実施します。
- rootユーザでのログイン禁止
- パスワード認証を無効化して公開鍵認証のみ許可
- 空パスワードを無効に
~$ sudo vim /etc/ssh/sshd_config
開かれたファイルに対し、下記部分を変更します
- rootユーザでのログインを禁止 上の方に記載されている
「#PermitRootLogin prohibit-password」を「PermitRootLogin no」に変更
- パスワード認証を無効化して公開鍵認証のみ許可 真ん中付近に記載されている
「#PasswordAuthentication yes」を「PasswordAuthentication no」に変更
- 空パスワードを無効に PasswordAuthenticationのすぐ下に記載されている
「#PermitEmptyPasswords no」を「PermitEmptyPasswords no」に変更
⑤認証設定の保存
公開鍵認証でのSSH接続ができますが、以下のコマンドでできるが、、
ssh [RaspberryPiのユーザ名]@[RaspberryPiのIP] -i [秘密鍵のパス] -p [ポート番号]
が長すぎるて毎回やるのは面倒なので、、
そこで、.sshフォルダにconfigファイルを作って、以下のような短いコマンドで済ませる
~$ ssh [ホスト名]
以下設定方法(PC側)
⑥SSH接続のテスト
実際に以下の写真を参考に接続してみましょう
sshに成功したら以下のようになります
以上です。
あーこれで楽になる〜〜〜( ・∀・)/ !!