LAN内でSSHを使う

(Last Updated On: 2009年12月8日)

有限な机上スペースを効率的に使うため,SSHをインストールしました.
偉そうなこと言ってますが家が狭いだけです.

OS(参考程度に) :
SSHサーバ:Debian lenny
SSHクライアント(LAN内):Ubuntu 9.10
SSHクライアント(LAN外):Solaris9と10

SSHをインストールする前に,ルータ(iptables)の設定をしました.
当面はLAN内でのみの運用としたいので

定数に

ssh_port='22'

INPUT RULESに

$IPTABLES -A INPUT -i $wan_port -p tcp --dport $ssh_port -j DROP

としました(Port22は変えたほうがいい).

{ もっとも,SSHサーバはNAT内であり,ルータのNAT設定をしていないのだから
この行を追加しようがしまいが外から繋がらないことに変わりはない.要は気持ちの問題である.}

LAN内の端末間のFORWARDは元々許可されています.

# LAN内の他端末からのアクセスを許可
$IPTABLES -A FORWARD -s $lan_range -d $lan_range -j ACCEPT

本題.SSHをインストールします.

sudo apt-get install ssh

/etc/ssh/sshd_configを書き換えます.

sshd の設定(sshd_config)
Ubuntuでsshdの設定をしてリモートから接続できるようにする

書き換えたら

sudo /etc/init.d/ssh restart

まずはsuの制限をかける程度にして,認証に成功したら公開鍵認証に切り替えることにしました

早速,LAN内のクライアントから

$ ssh -p 22 user@hostname
The authenticity of host '[hostname]:22 ([***]:22)' can't be established.
RSA key fingerprint is ***.
Are you sure you want to continue connecting (yes/no)? yes

fingerprint取られて通常通りのPassとUserで通ります.
特に何も弄ってないのですが,X使うもの(geditとか)も動きました.

一方,LAN外から叩いてみると

ssh -p 22 user@team2ch.org
ssh: connect to host team2ch.org port 22: Connection refused

入れません.NAT設定してない上にINPUTで蹴ってるわけだから入れたらいやですが.

さて,公開鍵認証にしよう.
Password認証やらPAMやらはnoにして,公開鍵認証の項目のみyesにします.

PubkeyAuthentication yes

その後,サーバの~/.ssh/authorized_keysにクライアントの公開鍵を追記してsshをrestartすればOKです.
UbuntuからDebianのiceweaselを起動しても,そこそこ動いてくれます.

結論:これは便利だ.今まで怠けて設定してなかったことが悔やまれる.当たり前だが,ルータの設定と許可IPアドレスの範囲さえ変えれば外からもいけるわけだし.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です