群晖仅在内网运行,外网无法访问。每次输入长密码不方便。但是群晖WEB端无法设置短密码,一番搜索过后,发现可以通过SSH的方式设计短密码。具体步骤如下。
1、登录群晖,控制面板 - 终端机和SNMP,勾选启动ssh功能。
2、开打ssh工具,这里使用的是finalshell,登录群晖。
3、输入sudo -i
然后输入群晖登录密码进入root权限。
设置新密码/更改密码:
sudo synouser --setpw 用户名 新密码
如果输入密码还是太麻烦,可以设置SSH免密登录。
# 看看我是谁
whoami
# 进入我的家目录
cd ~
chmod 755 /volume1/homes/xxx #xxx改为自己的用户名
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
群晖用户目录权限默认为 777,必须要修改为755才能免密登录。
修改 sshd_config
配置文件:
sudo vim /etc/ssh/sshd_config
修改上述文件中以下几个配置:
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
如果没有公钥和私钥,可以用ssh-keygen -t rsa
命令生成,下一步,下一步,就可以了。
在C:\Users\用户名\.ssh
目录下,可以看到点pub结尾的文件,这就是你的公钥了。打开,全选,复制。
vim ~/.ssh/authorized_keys
~/.ssh/authorized_keys
文件一行一个密钥,按小写字母o
,粘贴,按ESC退出编辑模式,按:
进入命令模式,输入wq
退出。
在群晖控制面板 -> 终端机和 SNMP
关闭再开启 SSH
,即可免密登录群晖。
当同一台电脑(自己的笔记本电脑),要免密登录多个群晖时。如果只用同一个公钥,有点不妥。所以,可以设置多个公私对,比如:
a. 一个群晖1,用于公司内部的工作开发;
b. 一个群晖2,用于自己进行一些活动;
在 C:\Users\用户名\.ssh
目录下,打开cmder或者Git Bash,
$ ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/mycompany_id_rsa
$ ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/home_id_rsa
C:\Users\用户名\.ssh
目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)# mycompany
Host mycompany.com
HostName mycompany.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/mycompany_id_rsa
# home
Host home.com
HostName home.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/home_id_rsa
上传公钥,粘贴也可以,或者用scp命令。
scp ~/.ssh/mycompany_id_rsa.pub xxx@ip:/volume1/homes/xxx/.ssh/authorized_keys
scp ~/.ssh/home_id_rsa.pub xxx@ip:/volume1/homes/xxx/.ssh/authorized_keys
不要用ssh-copy-id
,ssh-copy-id 将key写到远程机器的 ~/ .ssh/authorized_key
文件中,跟群晖路径不一样。