labunix's blog

labunixのラボUnix

SRX(junos)に公開鍵認証のsshログインを設定する。

>|sh
SRX(junos)に公開鍵認証のsshログインを設定する。
 要はパスワード入力が不要になる。

■恒例のバージョン情報

$ ssh 172.16.76.203 "show version"
Password:
--- JUNOS 12.1X47-D20.7 built 2015-03-03 21:53:50 UTC
{primary:node0}
labunix@vSRX-node0> show version
node0:
--------------------------------------------------------------------------
Hostname: vSRX-node0
Model: firefly-perimeter
JUNOS Software Release [12.1X47-D20.7]

node1:
--------------------------------------------------------------------------
Hostname: vSRX-node1
Model: firefly-perimeter
JUNOS Software Release [12.1X47-D20.7]

■ログイン中のユーザのRSA公開鍵を使ってSRX用のコマンドを生成

$ cat .ssh/id_rsa.pub | \
awk '{printf "configure\nset system login user '`whoami`' authentication ssh-rsa \""$0"\"\ncommit and-quit"}' \
> ssh-rsa-login.log

■例えば以下の方法でクリップボードにコピー。

$ xclip -i ssh-rsa-login.log

■一度sshでパスワード付きログインをして貼り付け実行。

$ ssh 172.16.76.203 "show version"
Password:
--- JUNOS 12.1X47-D20.7 built 2015-03-03 21:53:50 UTC
{primary:node0}
labunix@vSRX-node0>

■以下のようにパスワード無しでログイン出来て、
 ssh-rsaの最後の単語が「SECRET-DATA」であることを確認。

$ ssh 172.16.76.203 "show configuration system login user `whoami` authentication" | awk '/ssh-rsa/ {print $NF}'
SECRET-DATA

$ ssh 172.16.76.204 "show configuration system login user `whoami` authentication" | awk '/ssh-rsa/ {print $NF}'
SECRET-DATA

■最初のコマンドも以下のようになる。

$ ssh 172.16.76.203 "show version"
node0:
--------------------------------------------------------------------------
Hostname: vSRX-node0
Model: firefly-perimeter
JUNOS Software Release [12.1X47-D20.7]

node1:
--------------------------------------------------------------------------
Hostname: vSRX-node1
Model: firefly-perimeter
JUNOS Software Release [12.1X47-D20.7]