关于两台服务器非root用户之间的ssh免密登录,解决问题必采纳

A服务器和B服务器,现在我们要A上的liupan用户免密访问B上的hadoop用户
(root用户可以正常免密访问,已测)
A端输入命令ssh -vv 172.18.3.19,日志如下

debug1: Unspecified GSS failure. Minor code may provide more information
No Kerberos credentials available (default cache: FILE:/tmp/krb5cc_1000)

debug2: we did not send a packet, disable method
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/liupan/.ssh/id_rsa
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,gssapi-keyex,gssapi-with-mic
debug1: Trying private key: /home/liupan/.ssh/id_dsa
debug1: Trying private key: /home/liupan/.ssh/id_ecdsa
debug1: Trying private key: /home/liupan/.ssh/id_ed25519
debug2: we did not send a packet, disable method
debug1: No more authentication methods to try.
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

B端查看/var/log/secure文件日志如下:

Dec 4 01:18:51 hadooptest sshd[3829]: Invalid user liupan from 172.18.3.239
Dec 4 01:18:51 hadooptest sshd[3830]: input_userauth_request: invalid user liupan
Dec 4 01:18:52 hadooptest sshd[3830]: Connection closed by 172.18.3.239
网上找到的解决方案是在/etc/ssh/sshd_config中添加AllowUsers liupan
但是并没有什么用
(修改配置后执行过service sshd restart,不是配置未加载的原因),报错日志依然是上面这样的日志,求大牛普及普及

4个回答

在朋友的指点下,已经搞定了,蟹蟹各位
答案ssh -vv 172.18.3.19要改为ssh -vv hadoop@172.18.3.19,很低级的错误,缺省时用户名用默认用户liupan,而B端是没有liupan用户的

lp18036194881
lp180361* 大家都是用root作为跳板用户,用习惯了,缺省部分估计没有太注意
大约 2 年之前 回复
SoWeiYouXu
xiaozhuai7 ....完全没想到是这种问题........
大约 2 年之前 回复

 # A服务器登录liupan用户,并执行下面的命令

 cd ~
 mkdir .ssh
 cd .ssh
 ssh-keygen -t rsa

这时会创建秘钥文件,按照提示创建就行了,完成之后,复制 id_rsa.pub (公钥)内的内容,登录B上的hadoop用户,在~/.ssh/目录下的authorized_keys文件中填入公钥的内容,一行一个。如果没有这个文件的话就创建一个。然后重开一个终端,此时就可以在A上免密码登录B了。

lp18036194881
lp180361* 你这个是很基础的,我已经实现了,我想问的不是这个
大约 2 年之前 回复

根据pubkey 原理来实现的!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问