实现原理
使用一种被称为"公私钥"认证的方式来进行ssh登录. "公私钥"认证方式简单的解释是
- 首先在客户端上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)
- 然后把公钥放到想要登录的服务器上(~/.ssh/authorized_keys), 自己保留好私钥
- 当ssh登录时,ssh程序会发送私钥加密的验证串去和要登录服务器上的公钥做匹配.如果匹配成功就可以登录了
注意:1.生成证书
ssh-keygen -t rsa
指定密钥路径和输入口令之后(最好不要输入口令),即在/home/msa/.ssh/中生成公钥和私钥:id_rsa id_rsa.pub
cat id_rsa.pub >> authorized_keys (最好的办法是将所有的公钥都放到authorized_keys,并且将所有的服务器上都放上这一个相同的 authorized_keys,这样可以相互登录了)
至于为什么要生成这个文件,因为sshd_config里面写的就是这个。
然后chmod 400 authorized_keys,稍微保护一下。
2.是把客户端的公钥要放到服务器端的~/.ssh/authorized_keys
3.配置/etc/ssh/sshd_configProtocol 2
ServerKeyBits 1024
PermitRootLogin no #禁止root登录而已,与本文无关,加上安全些
#以下三行没什么要改的,把默认的#注释去掉就行了
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
4.重启sshd
/sbin/service sshd restart
5.查看日志
在CentOS下,我是这么找的
1)查看 /etc/ssh/sshd_config
看到
SyslogFacility AUTHPRIV
LogLevel INFO
2)查看 /etc/rsyslog.conf
找到
authpriv.* /var/log/secure
然后读取/var/log/secure, 就可以看到内容了
1万+

被折叠的 条评论
为什么被折叠?



