BEIKE blog

備忘録です

vscode remote 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
~$ 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側)

  • vscodeで以下のプラグインを追加する

    f:id:beike:20200810202927p:plain
    vscode_marketplace

  • 以下写真のような順番でsshのconfigファイルを開く

    f:id:beike:20200810203018p:plain
    vscode_ssh_config

  • cinfigファイルの設定する内容は以下の写真の通り

    f:id:beike:20200810201657p:plain
    ssh_config


SSH接続のテスト

  • 実際に以下の写真を参考に接続してみましょう

    f:id:beike:20200810205149p:plain
    vscode_ssh_manual

  • sshに成功したら以下のようになります

    f:id:beike:20200810205320p:plain
    vscode_sshed

以上です。

あーこれで楽になる〜〜〜( ・∀・)/ !!

参考サイト

Windows10からRaspberryPiにカンタンSSH接続 - Qiita