【初心者向け】ラズパイに外部ssh接続する方法をまとめておく

どーも、ぐるたか@guru_takaです。

ラズパイを外部からssh接続できるように設定できたので、備忘録もかねて方法をまとめました。ラズパイ触ったばっかの方の参考になれば幸いです!

主な流れ

STEP.1
秘密鍵と公開鍵の作成
接続側
$ ssh-keygen -t rsa
すでに作成済みの方はSTEP2にいきましょう。
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 noPasswordAuthentication 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

参考リンク

参考 ラズパイにSSH接続(鍵認証)Qiita 参考 Raspberry Pi3のLAN外からのSSH接続設定方法Qiita

コメントを残す