共计 2088 个字符,预计需要花费 6 分钟才能阅读完成。
CentOS 6.5 之 SSH 免密码登录
0. 说明
这里为了方便说明问题,假设有 A 和 B 两台安装了 centos6.5 的主机。目标是实现 A、B 两台主机分别能够通过 ssh 免密码登录到对方主机。不同主机的配置过程一样,这里介绍 A 主机的配置过程。
事先在AB主机分别创建好要免密码登录的用户名,在 /etc/hosts 文件增加主机名和 ip。
创建新用户:useradd linuxidc
设置密码:passwd linuxidc,输入自己想要的密码即可,之后 su linuxidc 切换用户
修改主机名:vim /etc/sysconfig/network,加入 hostname=master,注销系统之后即可看到修改成功
修改 hosts 文件:vim /etc/hosts
192.168.88.101 master
192.168.88.102 slave1
1. 环境设置
1.1 关闭防火墙(root 权限)
centos6.5 对网络管理相当严格,需要关闭 selinux。到 /etc/selinux/config 下,把 SELINUX=enforcing 修改为 SELINUX=disabled。需要 root 权限。
# su root
Password:
$ vim /etc/selinux/config
找到 SELINUX 并修改为 SELINUX=disable
1.2 修改 sshd 的配置文件(root 权限)
$ vim /etc/ssh/sshd_config
找到以下内容,并去掉注释符“#”
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
1.3 重启 sshd 服务(root 权限)
$ /sbin/service sshd restart
2. 本机生成公钥和私钥
从 root 切换回要免密码登录的用户 linuxidc,执行命令。
# ssh-keygen -t rsa
默认在用户 linuxidc 的家目录(~/.ssh/)生成两个文件:
id_rsa: 私钥
id_rsa.pub: 公钥
3. 把公钥导入到认证文件
3.1 导入到本机
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
完成这一步,再按照步骤 4 修改相关文件权限,可以免密码登录本机。可以输入以下命令验证。
ssh localhost
如果能够登录,即验证成功。
3.2 导入到目标主机
3.2.1 在本机操作,传送到目标主机
# scp ~/.ssh/id_rsa.pub root@目标主机 ip 或主机名:/home/id_rsa.pub
注意把文件传送到目标主机时,要用 root 用户,否则会因权限不够而拒绝。输入目标主机密码后,出现 OK 即传输成功。
3.2.2 登录到目标主机,把公钥导入到认证文件
使用要被免密码登录的用户名 linuxidc,登录到目标主机。然后执行以下操作。
# cat /home/id_rsa.pub >> ~/.ssh/authorized_keys
再按照步骤 4 修改相关文件权限,完成免密码登录设置。
4. 更改相关文件的权限
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys
至此,完成免密码登录设置。
5. 测试
A 主机(linuxidc@master),B 主机(linuxidc@slave1)。在 A 主机,切换为 linuxidc 用户,执行以下命令测试:
ssh slave1
能够免密码直接登录,即设置成功。如果出错,请仔细检查以上各个步骤。
下面关于 SSH 相关的文章您也可能喜欢,不妨参考下:
Ubuntu 下配置 SSH 服务全过程及问题解决 http://www.linuxidc.com/Linux/2011-09/42775.htm
Ubuntu 14.04 下安装 Samba 及 SSH 服务端的方法 http://www.linuxidc.com/Linux/2015-01/111971.htm
SSH 服务远程访问 Linux 服务器登陆慢 http://www.linuxidc.com/Linux/2011-08/39742.htm
提高 Ubuntu 的 SSH 登陆认证速度的办法 http://www.linuxidc.com/Linux/2014-09/106810.htm
开启 SSH 服务让 Android 手机远程访问 Ubuntu 14.04 http://www.linuxidc.com/Linux/2014-09/106809.htm
如何为 Linux 系统中的 SSH 添加双重认证 http://www.linuxidc.com/Linux/2014-08/105998.htm
在 Linux 中为非 SSH 用户配置 SFTP 环境 http://www.linuxidc.com/Linux/2014-08/105865.htm
Linux 上 SSH 服务的配置和管理 http://www.linuxidc.com/Linux/2014-06/103627.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-10/136200.htm
