Ubuntu 下文件同步与SSH无密码登陆

核心提示:

本文主要讲述Ubuntu 下文件同步与SSH无密码登陆相关内容:ssh 是一个专为远程登录会话和其他网络服务提供安全性的协议。默认状态下ssh链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和ssh认证。

服务器端配置 ssh配置密钥rsync 同步

在做两台服务器的数据同步,无论是通过ssh登陆,还是通过scp拷贝文件都需要输入密码,所以要想实现两机数据同步则 必须先要解决的是无需登陆的ssh,这样再通过crontab就可以通过脚本定时通过scp命令来做远程备份了。Linux ssh无密码访问是由服务器和客户端两端的配置来实现的,嗨网在线 以Ubuntu为例说明文件同步与SSH无密码登陆.

服务器端配置 ssh

修改客户端sshd配置文件

sudo vi /etc/ssh/sshd_config

修改为

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile %h/.ssh/authorized_keys

重启ssh服务

sudo /etc/init.d/sshd restart

配置密钥在客户端生成公钥和私钥文件

ssh-keygen

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp 到服务器端

scp ~/.ssh/authorized_keys username@hostname:~/.ssh/authorized_keys

修改 config 文件

vi ~/.ssh/config

添加

host sshname

HostName hostname(ip address)

user username

IdentityFile ~/.ssh/id_rsa

测试

ssh sshname (-p port)

rsync 同步rsync (--exclude=exclude) -avz (-e "ssh -p 22") ./ sshname:~/path

注:

括号为可选hostname 指域名或者 IP 地址username 对应服务器的用户名

推荐阅读更多精彩内容