どーも、ぐるたか@guru_takaです。
ラズパイを外部からssh接続できるように設定できたので、備忘録もかねて方法をまとめました。ラズパイ触ったばっかの方の参考になれば幸いです!
主な流れ
STEP.1
秘密鍵と公開鍵の作成
接続側
すでに作成済みの方はSTEP2にいきましょう。$ ssh-keygen -t rsa
STEP.2
公開鍵をラズパイに送信
接続側
$ scp ~/.ssh/id_rsa.pub pi@xxx.xxx.xxx.xxx:~
xxx.xxx.xxx.xxx
はローカルのIPアドレスです。STEP.3
公開鍵を設定
ラズパイ側
$ cd ~
$ cat id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
$ rm id_rsa.pub
STEP.4
sshの設定
ラズパイ側
$sudo vim /etc/ssh/sshd_config
/etc/ssh/sshd_config
にはsshの設定ができ、以下のように設定してみてください。
/etc/ssh/sshd_config
# rootログインの禁止
PermitRootLogin no
# 鍵認証を有効化
PubkeyAuthentication yes
# パスワード認証を無効化
PasswordAuthentication no
# port変更
Port xx
ポートはもともと22ですが、セキュリティの不安があれば、変更すれば良いでしょう。
MEMO
もし公開鍵の認証をなくしたければ、PubkeyAuthentication no
、PasswordAuthentication yes
にすればOKです。STEP.5
sshサーバーを再起動
ラズパイ側
$ sudo /etc/init.d/ssh restart
ルーターでポート開放の設定をする
ルーターでラズパイがもつIPアドレスに対し、ポート開放してあげましょう。でないと、アクセス拒否されると思います。
ルーターでのポート開放は設定が各々違うので、各自で調べてみてください。
外部ssh接続のコマンド
外部ssh接続するときは、ラズパイのグローバルIPを指定して接続していきます。グローバルIPは、ラズパイ側で以下のコマンドで叩けば、確認できます。
ラズパイ側
$ curl ifconfig.io
あとは内部SSH接続と同じように、接続側で以下コマンドを叩けばOKです。
接続側
$ ssh pi@<グローバルIP> -p <ポート番号>
注意
外部ネットワークからでないと、外部ssh接続できないので注意してください。内部ネットワークからだと弾かれます。参考 自宅サーバにSSH接続しようとしてハマったSugar's memorandum
コメントを残す