在我的 Synology NAS 上,我无法使 SSH 密钥身份验证正常工作。我尝试了所有常用方法(添加到 authorized_keys、编辑 sshd 配置等),但仍然无法使其正常工作。
我真的很希望能够使用 SCP 对我的 NAS 进行无交互传输。
此外,与我交谈过的另一位 IT 朋友表示,他不久前就解决了这个问题,但非常麻烦,而且不记得是怎么解决的。
有谁让这个工作正常吗?
答案1
虽然其他答案都没有直接解决这个问题,但我采用了他们的一些方法并将它们结合起来。
这是我在运行 DSM 6.1 的 Synology DS414slim 上所做的工作。
我以以下身份登录admin
并执行以下命令(无需填写您的用户名,它将按原样工作):
这会将您的主目录设置为700
拥有的权限[you]:users
。
homedir=$(eval echo ~$USER);
sudo chown $USER:users $homedir -R;
chmod 700 $homedir;
chmod 700 $homedir/.ssh/;
chmod 600 $homedir/.ssh/authorized_keys;
答案2
我按照这里评论中的提示使它工作:https://forum.synology.com/enu/viewtopic.php?t=90208
简短版本,运行chmod -R 755 ~
。目录权限太宽松(?!),ssh 无法使用公钥身份验证。不知道这是否会导致其他冲突,但它确实有效。
答案3
它对我有用,所以不可能那很难设置。我使用的是 DS1812+,DSM 6.0.2-8451 Update 5
尝试创建一个对“homes”具有读/写权限的新用户
验证您是否可以使用密码 ssh 进入该帐户。
任何一个
- 将您的 id_rsa.pub 添加到 ~/.ssh/authorized_keys
- 或者
ssh-copy-id new_user@synology_box
如果不起作用,请尝试使用详细模式:ssh -vvv new_user@synology_box
。那里可能会有一些明显的效果。
答案4
我只需要执行以下操作即可使其工作:
- 通过 Web 界面启用主目录(高级设置)
更改主目录 (NAS) 的目录权限
sudo-i
chmod -R 755 ~
然后就可以生成密钥并复制到该帐户(客户端)的 .ssh 目录中
ssh-keygen -t rsa
ssh-copy-id 帐户@synology_server