2010年08月09日

Solaris10 SSHホストベース認証

まあ・・・覚書みたいなものなんで
やってみたい人はやってみてくれっす
ちなみにDNSサーバーとかたててないとか
ルーターの設定できてないとかで
名前解決できてないんだったら
ホスト名のところをIPで設定してやってみてもOK

SSHホストベース認証について
SSHサーバとクライアントがユーザレベルの認証を省略し
直接認証を行う方式
SSHサーバに登録済みのクライアントから接続した場合
クライアントマシンのユーザ情報を信用し接続を許可する
有効な使用方法としては
各サーバーに同名で管理ユーザーが存在している場合など
パスワードやパスフレーズを入力せずに各マシンにログインできる

[設定実習環境]

sshサーバ
使用OS :Solaris10(仮想化サーバー)
ホスト名:wbsvr.com
IPアドレス:192.168.0.100
認証設定ユーザー名:testuser

sshクライアント
使用OS :Solaris10(仮想化サーバー)
ホスト名:dbsvr.com
IPアドレス :192.168.0.200
認証設定ユーザー名:testuser

サーバー側の設定
1.testuserでログインする
2.認証用の鍵を作成する
#ssh-keygen -t rsa
※実習なのでパスフレーズは簡単なもの「testtest」に設定
3.rootになる
4./etc/sshに移動
5.ssh_configとsshd_configのバックアップを作成(名前は任意)
6.ssh_configをviで開き以下を追記する
HostbasedAuthentication yes
7.sshd_configをviで開き以下を編集および追記
IngoreRhosts yes IgnoreRhosts no
8.rootからexit
9.自分のホームディレクトリに移動
10..shostsファイルを作成しログイン許可するホスト名とユーザー名を書き込む
dbsvr.com testuser
11.クライアントの公開鍵を取得する
#ssh-keyscan -t rsa dbsvr.com >> ./.ssh/known_hosts
12.rootになる
13.sshのサービスを再起動する
#svcadm restart ssh

クライアント側の設定
1.testuserでログインする
2.ホームディレクトリにディレクトリを作成する
#mkdir .ssh
3.rootになる
2./etc/sshに移動する
3.ssh_configのバックアップを作成
4.ssh_configをviで開き以下を追記する
HostbasedAuthentication yes
6.sshのサービスを再起動する
#svcadm restart ssh
7.rootからexitする
8.認証なしでログインできるか確認する
#ssh wbsvr.com

  


Posted by タカさん at 22:38Comments(0)Solaris10

2009年11月22日

Solarisログイン制御

TCP_Wrappersを利用しIPやプロトコル単位で制御なら
ちょっとLinuxやUnixを利用している人ならやっていることと思う

今回紹介する方法は
ログインを許可したくないユーザーを判別してログインさせないというもので
某質問サイトに質問があったので答えた時のもの
なかなか使えるので内容を肉付けして書き残しておくことにする

ユーザーに指定したシェルが「csh」または「tcsh」の場合
「/etc/.login」ファイルの中の末尾に以下を追加

if ( `logname` == "ログイン拒否したいユーザー名" ) logout

たとえば複数の拒否したいユーザーがいる場合は以下のように複数追加

if ( `logname` == "ログイン拒否したいユーザー名" ) logout
if ( `logname` == "ログイン拒否したいユーザー名" ) logout


ユーザーに指定したシェルが「bash」の場合
「/etc/profile」ファイルの末尾に以下を追加

if [ `logname` = "ログインを拒否したいユーザー名" ];then
  logout
fi


複数いる場合は「csh」と同じように複数追加でOK
「bash」のみ外部ファイルからユーザー名を読み込んで制御する方法を記す

「/etc/profile」ファイルの末尾に以下を追加

. /etc/logout.dat
for name in $logoutname
  do
   if [ `logname` = ${name} ];then
    logout
   fi
  done


次に「/etc/logout.dat」ファイルを作成し中に次の内容を記述

logoutname="ユーザー名 ユーザー名 ユーザー名"

といった感じでログインを制御したいユーザー名を追加していく
ユーザー名とユーザー名の間は半角スペースをいれて区切る
組み込みコマンドでlogoutが使えないシェルがほとんどで
その場合はエラーが表示されてログインしてしまうので
他のシェルで使用する場合は注意

ちなみに試したsolarisのバージョンは9と10だが
その他のバージョンやLinuxで使用する場合は
自分で試してみること

※上記の方法で制御したいが
 ユーザーのシェルが上記の3種類のシェルに該当しない場合は
 「/etc/passwd」ファイルをviあたりで開いてシェル部分を編集  


Posted by タカさん at 18:08Comments(0)Solaris10