群晖使用SSH密钥免密码登录
前言
本文测试用的群晖系统版本为DSM 6.1.7-15284
省流:如果已经会在普通Linux系统上进行SSH免密登录的设置,只需注意以下几点即可跳过本文:
1、以下目录和文件默认权限为777,需要修改后才能免密登录
chmod 755 /volume1/homes/xxx #xxx改为自己的用户名
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
2、修改完后重启sshd,需要在群晖管理页面的控制面板->终端机和SNMP
中,将SSH功能关闭再打开
3、群晖系统下的用户目录为/volume1/homes/xxx
,与一般Linux系统的/homes/xxx
不同
一、上传密钥文件
在需要远程登录群晖的机器上生成密钥:
ssh-keygen -t rsa
跳出提示,不需要输入内容,直接一路按回车即可(enter)
执行上面一步后,会在~/.ssh
目录下生成私钥id_rsa
和公钥id_rsa.pub
,其中私钥保存在本机,公钥上传到远程服务器(此处为群晖)
在群晖管理页面的控制面板->终端机和SNMP
中,启动SSH功能,准备上传公钥
上传公钥到群晖:
#xxx改为自己的用户名,ip改为自己的ip
scp ~/.ssh/id_rsa.pub xxx@ip:/volume1/homes/xxx/.ssh/authorized_keys
#scp ~/.ssh/id_rsa.pub xxx@ip:/var/services/homes/xxx/.ssh/authorized_keys
群晖系统下的用户目录为/volume1/homes/xxx
,与一般Linux系统的/homes/xxx
不同
一般Linux系统的~/.ssh
路径为/home/xxx/.ssh
,其中xxx
表示用户名
而群晖系统中cd ~/.ssh
,然后使用pwd
查看当前路径可以看到路径为/var/services/homes/xxx/.ssh
,而用户目录下也有一个.ssh文件夹/volume1/homes/xxx/.ssh
,经过测试发现修改其中一处的文件,另一处也会保持相同的变化,因此修改任意一处即可
一般Linux系统中的用户目录为/home/xxx
,而群晖系统中的用户目录为/volume1/homes/xxx
,也可能出现volume2、volume3?
二、修改文件权限
群晖用户目录权限默认为 777,必须要修改为755才能免密登录
chmod 755 /volume1/homes/xxx #xxx改为自己的用户名
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
三、修改sshd配置文件
sudo vim /etc/ssh/sshd_config
,去掉前面的#
号,并且将no
改为yes
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
四、重启sshd
不能直接在命令行systemctl restart sshd.service
,要在群晖管理页面的控制面板->终端机和SNMP
中,把启动SSH功能
关闭,点击应用后再启用
这时候再用ssh连接群晖就不用输入密码了