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

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

服务器端配置 ssh

修改客户端sshd配置文件

  
  
  
  
  1. sudo vi /etc/ssh/sshd_config

修改为

  
  
  
  
  1. RSAAuthentication yes
  2. PubkeyAuthentication yes
  3. AuthorizedKeysFile %h/.ssh/authorized_keys

重启ssh服务

  
  
  
  
  1. sudo /etc/init.d/sshd restart

配置密钥

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

  
  
  
  
  1. ssh-keygen
  2. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp 到服务器端

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

修改 config 文件

  
  
  
  
  1. vi ~/.ssh/config

添加

  
  
  
  
  1. host sshname
  2. HostName hostname(ip address)
  3. user username
  4. IdentityFile ~/.ssh/id_rsa

测试

  
  
  
  
  1. ssh sshname (-p port)

rsync 同步

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

注:

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

你可能感兴趣的:(rsync)