CentOS SSH无密码登录配置教程

需积分: 19 2 下载量 59 浏览量 更新于2024-09-11 收藏 243KB DOCX 举报
"SSH无密码登录配置教程" SSH (Secure Shell) 是一种网络协议,用于在不安全的网络上安全地远程登录到另一台计算机。在这个过程中,无密码登录允许用户通过SSH连接到另一台机器而无需每次都输入密码,提高了自动化任务的效率。本文将详细介绍如何在两台机器之间实现SSH无密码登陆。 首先,确认两台机器上已经安装了SSH协议。在CentOS系统中,可以使用`rpm -qa | grep openssh`和`rpm -qa | grep rsync`命令检查SSH和rsync是否已安装。如果未安装,可以使用`yum install ssh`和`yum install rsync`来安装。安装完成后,启动SSH服务,命令是`/bin/systemctl restart sshd.service`。 在SSH无密码登录配置中,关键步骤是生成并分发密钥对。在Master.Hadoop机器上,使用普通用户执行`ssh-keygen -t rsa -P ""`命令生成RSA密钥对,不输入密码,密钥会默认保存在`/home/hadoop/.ssh`目录下,包括`id_rsa`(私钥)和`id_rsa.pub`(公钥)。接下来,将公钥追加到`authorized_keys`文件中,通过`cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys`,然后修改`authorized_keys`文件权限为600,即`chmod 600 ~/.ssh/authorized_keys`。 对于root用户,需要编辑`/etc/ssh/sshd_config`文件,确保以下设置启用: - `RSAAuthentication yes` - `PubkeyAuthentication yes` - `AuthorizedKeysFile .ssh/authorized_keys` 保存后,重启SSH服务以应用更改。之后,尝试使用普通用户`hadoop`通过`ssh localhost`进行本地登录,如果无密码登录设置成功,应该可以直接登录。 接着,将Master.Hadoop机器上的公钥复制到所有Slave机器上,例如`scp ~/.ssh/id_rsa.pub hadoop@192.168.1.102:~/`。在Slave01.Hadoop机器上,登录并检查公钥是否已成功复制,创建`.ssh`目录(如果不存在)并设置正确权限,如`mkdir ~/.ssh`和`chmod 700 ~/.ssh`。然后将公钥追加到`authorized_keys`文件,最后,确认可以从Master无密码登录到Slave01.Hadoop。 通过以上步骤,你已经成功配置了两台机器之间的SSH无密码登录。这将极大地方便你在多台机器之间进行自动化运维和数据同步。注意,虽然无密码登录简化了操作,但也要确保网络安全,防止未经授权的访问。