星期三, 5月 30, 2007

sshd 使用key驗證, 不允許密碼驗證

在使用ssh來做遠端管理
大部分的方式會在/etc/hosts.allow, 以及/etc/hosts.deny來設定特定ip可以存取ssh

但是如果不想使用/etc/hosts.allow或是 /etc/hosts.deny 來限制IP存取
可以使用key驗證加上拒絕使用密碼驗證來代替
作法
1.在client產生 公鑰及私鑰利用
#ssh-keygen -d
會在~/.ssh/建立兩把key
[max@localhost .ssh]$ ls
id_dsa id_dsa.pub

將public key 複製到對方的機器並命名為authorized_keys
$scp id_dsa.pub 帳號@主機:/home/帳號/.ssh/authorized_keys

嘗試連結到對方主機
$ssh 對方主機的ip
應該不需要驗證密碼

2.在server 上面修改sshd 的設定
#vi /etc/ssh/sshd_config

PermitRootLogin no
UsePAM no
PasswordAuthentication no

#service sshd restart

^^
這樣應該就會比較放心一點
^^

沒有留言: