SSH免密登录配置

CentOS配置SSH密钥:先将公钥放置在用户.ssh目录下,然后修改sshd配置文件并重启,最后配置SSH客户端。

生成密钥

使用ssh-keygen命令,或puttygen生成密钥库。

配置公钥

将公钥复制到当前用户的.ssh/authorized_keys文件中。

vim .ssh/authorized_keys

注:目录或文件不存在则创建,若存在则新起一行追加。公钥以ssh-rsa字符开始,以日期结束。

设置权限

.ssh和authorized_keys权限不宜太大,太大会不被sshd认可。

chmod 600 .ssh
chmod 400  .ssh/authorized_keys

注:权限至关重要,配置不成功,多源于此处权限问题。

sshd配置

将/etc/ssh/sshd_config中StrictModes的值改为no,保存退出。

vim /etc/ssh/sshd_config

重启sshd服务

service sshd restart

配置客户端

以putty配置为例。

新建会话

输入ip和端口,为新会话取个别名,点击[Save]保存。

配置登录用户

点击左侧[Connection]节点的[Data]项,找到[Auto-login username]项,输入登录用户名。

配置私钥

在[Auth]节点通过[浏览]选择对应的私钥文件。

更新配置

回到[Session]节点,点击[Session]回到会话页面,点击[Save]按钮,更新当前会话的配置。

登录系统

从putty会话列表中选择一个会话,进入登录界面。

提示输入私钥密码,证明密钥配置正确,输入私钥密码后登录系统。

注:如有问题可以先查看如下两个日志文件,或检查以上几个步骤是否有忽略。

/var/log/secure
/var/log/messages

禁用密码登录

使用密钥登录成功后,若需要禁用密码方式登录,可修改/etc/ssh/sshd_config,将PasswordAuthentication项改为no,保存并重启sshd 。

service sshd restart