tra*_*tto 11 linux ssh authentication
我已经成功地为从我的 A 机器到我的 B 机器的 root 用户创建了一个基于密钥的身份验证。
现在,我在 B 机器上创建了一个新用户,与在 A 机器上相同,我们称他为USER
。我在 B 机器上为他创建了一个主目录/home/USER
,我想为他从机器 A 到 B 机器创建基于密钥的身份验证。
所以,我在一台机器上跑
ssh-keygen -t rsa
,接受所有路径,所以/home/USER/.ssh/id_rsa
没有短语ssh-copy-id -i /home/USER/.ssh/id_rsa.pub USER@BmachinesIP
, 输入密码并得到按摩现在尝试登录机器 bla bla bla
所以一切似乎都很好。
但是当我尝试连接时,ssh USER@BmachinesIP
我被要求输入密码。我试图查看日志并运行ssh -vvv USER@BmachinesIP
,这是输出的一部分:
debug1: Authentications that can continue: publickey,password
debug3: start over, passed a different list publickey,password
debug3: preferred gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive,password
debug3: authmethod_lookup publickey
debug3: remaining preferred: keyboard-interactive,password
debug3: authmethod_is_enabled publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/USER/.ssh/id_rsa
debug3: send_pubkey_test
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/USER/.ssh/id_dsa
debug3: no such identity: /home/USER/.ssh/id_dsa
debug2: we did not send a packet, disable method
debug3: authmethod_lookup password
debug3: remaining preferred: ,password
debug3: authmethod_is_enabled password
debug1: Next authentication method: password
USER@BmachinesIP's password:
Run Code Online (Sandbox Code Playgroud)
那么,谁能告诉我我做错了什么或者我应该改变什么?也许问题出在权限上,它们是:
在一台机器上:
drwx------ 2 USER USER SIZE DATE TIME .ssh
-rw------- 1 USER USER 1675 2011-10-31 14:36 id_rsa
-rw-r--r-- 1 USER USER 413 2011-10-31 14:36 id_rsa.pub
Run Code Online (Sandbox Code Playgroud)
在 B 机器上:
drwx------ 2 USER defaultGroup SIZE DATE TIME .ssh
-rw------- 1 USER defaultGroup SIZE DATE TIME authorized_keys
Run Code Online (Sandbox Code Playgroud)
tra*_*tto 15
我找到了解决办法。权限有问题。
/home/USER
在远程机器上被授予所有权限,但对于基于密钥的身份验证,它必须设置为 755
归档时间: |
|
查看次数: |
33412 次 |
最近记录: |