Last Updated on 2021年7月4日 by かんりにん
概要
パスワード/パスフレーズなしでSSHログインできるよう、ホストベース認証を設定する方法。
クライアント側(接続元)設定
ホストベースでの外部ホストへの接続を許可するため
/etc/ssh/ssh_configへ以下の設定を追加
- 全てのホストへのホストベース認証を有効にする場合(例)
Host * ForwardX11 yes HostbasedAuthentication yes PreferredAuthentications hostbased,publickey,password EnableSSHKeysign yes ForwardAgent no
または
HostbasedAuthentication yes
- ホストを指定する場合
Host www.hogehoge.com ForwardX11 yes HostbasedAuthentication yes PreferredAuthentications hostbased,publickey,password EnableSSHKeysign yes ForwardAgent no
サーバ側(接続先)設定
外部ホストからの接続を受けるため
以下の設定を追加
- /etc/sss/sshd_config
#HostbasedAuthentication no ↓ HostbasedAuthentication yes
- /home/USERNAME/.shosts
※デフォルトでは用意されていないので自分で作成。
接続を許可する接続元ホストのFQDNやIPアドレスを記述。$ touch .shosts $ vi .shosts www.hogehoge.com 111.222.121.212 www.example.com 123.123.123.*** $ chmod 600 .shosts
- 接続元ホストのホスト公開鍵を追加
/etc/ssh/ssh_known_hosts
ここへ接続元ホストのホスト公開鍵を持ってくる。- /etc/ssh/以下の公開鍵ファイル
ssh_host_key.pub ssh_host_rsa_key.pub ssh_host_dsa_key.pub
使用するプロトコルに応じてそれぞれ登録する。
- 書式
接続元ホストのFQDN、IPを公開鍵の前にそれぞれ追記する。
<hostname>,<ip> <公開鍵ssh-dss…> - 書式例:
www.example.com,123.123.123.*** ssh-dss AAAAB3NzaC1kc3MAAACBAJ GCYT/RYje+Jl6itA8euo98gN7AGuEofLco1C5FfOKz/+7miXFj36VtYLapRtKv +kL0KGqm/r0777/hMQzlbxYNw25K91IQBnvxh1GDtDCmv8bp6UbHomyd80nRnN FLIWTizQqhOc0sNox3jKA+gVXhpiU8IS0CP17xJT+WIqfZAAAAFQDur786ab1D 4Iaqs8qu2Ul+yfQoUQAAAIBJJ8J/yAZj3MNnpGZMt+NV8UzilaSmCQtw105ShS 9EYjQkJ/IDdW2omtowF6RlNybEdYBAEP0Db3cc72Sn7IwBDuBdxlkEtLF3RPta bzuE1z9sIwIP1ukwVCunxNS9lZGCrrtgyjjnrlHpKRUkj6Bsm63Qxt9m1cqDDH 2YZgND8gAAAIBpeWrLAmibk0OOxQHXg60hoSfpt7if1fLjBrIxhoR+FJvOL+/1 fRIMmEHLGgXqQ6Q00QJrVSL6Nfmgxxt3nS8neF3TOXeNaKqxd/sEK2GOsKP0RL rxNVlbhJnkP+A5+mVim5/Bfj2v4U8P6WuetWpwmK67JzpeQQytohUhKcGrnA==
- /etc/ssh/以下の公開鍵ファイル
確認・デバッグ
hostAからexampleにsshで接続