端末からraspberry pi 2+ (raspbian)へsshする際のカスタマイズ。
固定IPの設定
/etc/network/interfaces と /etc/resolv.conf を編集する。
ここに非常に丁寧な解説がある。
http://readwrite.jp/develop/6900/
raspberrypi$ sudo vi /etc/network/interfaces
.....
#iface eth0 inet manual
iface eth0 inet static
address 192.168.100.xxx
netmask 255.255.255.0
gateway 192.168.100.1
.....
iface eth0 のところを上記のように、staticに書き換え
3行追加する。
addressに、固定して使いたいipアドレス
netmaskはifconfigで調べられる。
gatewayは、 netstat -nr
で 0.0.0.0 じゃない方、たぶん。
/etc/resolv.conf を見てみる。
raspberrypi$ sudo vi /etc/resolv.conf
# Generated by resolvconf
nameserver 192.168.100.1
nameserverがゲートウェイのipアドレスと一致してたらOK。してなかったら書き換える。
rebootして、ifconfigなどで指定したipアドレスに割り振られているか確認する。
ポート番号指定
sshdの設定ファイルを書き換える
raspberrypi$ sudo vi /etc/ssh/sshd_config
......
# What ports, IPs and protocols we listen for
#Port 22
Port 2222
......
以上のようにデフォルトでは22になっているポート番号をコメントアウトして
新たに"Port 3141"を追記する。
ポート番号は65000ぐらいまで利用できる。
変更後は
raspberrypi$ /etc/init.d/ssh restart
でsshdを再起動する。
これで、このラズパイにssh接続する際には、ポート番号2222の指定が必要になった。
試しに、
cygwin$ ssh -p 2222 -l pi 192.168.xxx.xxx
で接続できるか確認する。
ラズパイのIPアドレスは、ラズパイのコマンドラインで
ifconfig
または ip addr show
で調べる。
有線ネットワークならeth0、無線(wifi)ならwlan0のとこのinetアドレスを見ればよいと思う。
ポート番号をデフォルトから変更することで、セキュリティがよくなる、たぶん。
注意
/etc/ssh/ssh_config と間違えない。こっちはsshクライアント用
グローバルIPアドレスとポートフォワーディングの設定
この設定は、ルータ側の設定で行う。
グローバルipを有効にする。
LAN側(ルータ側)のipアドレス(デフォルトゲートウェイ)とは別に、
WAN側のIPアドレスが取得できる。
外部のネットワークから、このWANのアドレスへアクセスがあったときに、指定されたポート番号によって、内部ネットワークのマシンへ接続を転送することができる。これがポートフォワーディング。
outside$ ssh -l pi -p 2222 <global ip address>
ポート2222を指定してssh接続された場合は、たとえば内部アドレスの192.168.100.xxxのラズパイに、転送するように設定できる。
ルータによって設定方法が違う。
参考
固定IP
http://readwrite.jp/develop/6900/
ポート指定
http://www.obenri.com/_ntp_sshserver/sshdconfig401.html