一般发行版本的 Linux 系统都是使用的 sshd 作为 ssh 服务端,我们将客户端的 ~/.ssh/id_rsa.pub 拷贝到服务端的 ~/.ssh/authorized_keys 即可(Ubuntu 就是这个文件),注意权限需要至少是 600,而且权限给的越小越安全。
openwrt 使用的 dropbear 作为 ssh 的服务端程序,我们需要将公钥拷贝到 /etc/dropbear/authorized_keys
# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: SHA256:KmPX2Sb90bUmGrAzOsLh5GZCtkCAeWeacvM3mNvWlsU [email protected] The key's randomart image is: +---[RSA 2048]----+ |.. | |+ . o | |.. = | |..= | |.o o o So .| | . o+ooo +E . ..| | + X++o+*+....o | | [email protected].=oo.o.o | | +..o. .. | +----[SHA256]-----+ [email protected]:~/.ssh # ls id_rsa id_rsa.pub known_hosts
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
或者在服务端手动创建authorized_keys文件,将id_rsa.pub的内容复制进去
cd /root/.ssh/ touch authorized_keys chmod 0600 authorized_keys
有的服务器需要配置文件 /etc/ssh/sshd_config 里,将 PubkeyAuthentication yes 和 RSAAuthentication yes 的注释去掉 后重启远程主机
此时在客户端:
ssh 服务器IP
可免密登陆即表示成功。
服务器端需安装rsyncd,然后在客户端执行
rsync -av --no-o --no-g --no-perms [email protected]:/mnt/sda1/sync /bak/
即可将192.168.2.1上的/mnt/sda1/sync目录同步到客户端的/bak/目录下
可通过crontab或init.d下增加bash脚本实现 freenas中, 可以Tasks/Cron jobs通过定时执行Command实现。