我有3个节点,其中centos 7:master,slave01,slave02。我正在尝试使用没有密码的ssh登录,我在其中配置了nfs文件系统,主服务器是服务器,其他服务器是客户端。 这是我的nfs安装步骤: 在主节点上:
yum install nfs-utils
vi /etc/exports
在导出文件中,我添加了这一行
/home/hadoop/.ssh *(sync,rw,no_boot_squash,no_subtree_check,fsid=0)
然后启动nfs:
service rpcbind start
service nfs start
在客户端节点上:
yum install nfs-utils
service rpcbind start
mkdir /home/hadoop/nfs_share
mount -t nfs master:/ /home/hadoop/nfs_share
我确定nfs没问题。然后我改为hadoop用户配置没有密码的ssh。
主节点上的:
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
在客户端节点上:
ssh-keygen -t rsa
ln -s /home/hadoop/nfs_share/authorized_keys /home/hadoop/.ssh/
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
全部,但我只能在没有密码的情况下登录登录主机,登录奴隶时,仍然需要输入密码。我已经检查了/ home的权限,除了authorized_keys,它们是700,authorized_keys是644.以下是我客户端的authorized_keys:
lrwxrwxrwx. 1 hadoop bigdata 1675 authorized_keys -> /home/hadoop/nfs_share/authorized_keys
稍后我运行此命令:
ssh slave01 -v
打印一些可能有用的信息:
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/hadoop/.ssh/id_rsa
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic,password
debug1: Trying private key: /home/hadoop/.ssh/id_dsa
debug1: Trying private key: /home/hadoop/.ssh/id_ecdsa
debug1: Next authentication method: password
为什么会这样?有人可以帮助我,提前谢谢。
ADD1:
我发现这个bug很可能是由nfs文件系统引起的。当我修改文件AuthorizedKeysFile
中/etc/ssh/sshd_config
的值时,
只是改变
AuthorizedKeysFile .ssh/authorized_keys
到
AuthorizedKeysFile /home/hadoop/nfs_share/authorized_keys
它仍然没有奏效。 / home / hadoop / nfs_share是我的nfs系统文件,位于我的从属节点中。如果我不使用nfs系统文件,那就没关系。 ok的文件与nfs系统文件具有相同的所有者,组和权限。