hgy@hgy-virtual-machine:~$ ssh hgy@10.11.53.18 hgy@10.11.53.18's password: Last login: Sat Sep 1 14:58:38 2018 from 10.11.53.127 hgy@hgy-virtual-machine:~$ exit 注销 Connection to 10.11.53.18 closed. hgy@hgy-virtual-machine:~$
1.2 无须输入密码登录
IP 10.11.53.127 (客户端)
IP 10.11.53.18 (服务器)
1)在10.11.53.127(客户端)上操作
root@xiaohuang-virtual-machine:/# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa already exists. Overwrite (y/n)? y 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:xZKF6JtH+jo0pvG5+in7nAvv2b5JAUZ0ixo+XoonaSk root@xiaohuang-virtual-machine The key's randomart image is: +---[RSA 2048]----+ | .o.... | | ..o.= | | ..+ + o | | . +...o | | + .=S | | =.+B .. | |E * =* =. | | o oo++*.. | | oB&*=. | +----[SHA256]-----+ root@xiaohuang-virtual-machine:/# cd /root/.ssh root@xiaohuang-virtual-machine:~/.ssh# ls id_rsa id_rsa.pub root@xiaohuang-virtual-machine:~/.ssh# cat id_rsa.pub #查看复制内容 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCilrhmboRXk5CfeD4szk4DPYx7wUg4r7t/aTNkgziJmM5m9MztL/r9FAyQQ4DghGuM6njTKcHoHHi3H3Ii+JHZvjxIhG0pPfbKtJHYwuDUu8dgu/H0dJRWl43C8VC4Nav0xjBVhrfJbJaoBrd8x8i9kFOsnOlz5TAI70gxoVhRTs7kXMuB9L1Uq0Tunko3R0U5Wsf926b5f9fK0nIKCat7MPSNLRJmHMExxtEpG7HDu6eEa08963PkBdvwmonyA5T2FcLR08v9v3uyxEiI2kdzEyXozq7vaovUmwvBdz1nfrYzxngQrSwZ+G4YAe29BbVA11nFvAt4TA1K7IleHT3X root@xiaohuang-virtual-machine
2)在10.11.53.18(服务器)上操作
hgy@hgy-virtual-machine:~$ clear hgy@hgy-virtual-machine:~$ su roott 没有用户“roott”的密码项 hgy@hgy-virtual-machine:~$ su root 密码: root@hgy-virtual-machine:/home/hgy# mkdir -p /root/.ssh root@hgy-virtual-machine:/home/hgy# cd /root/.ssh/ root@hgy-virtual-machine:~/.ssh# vim authorized_keys root@hgy-virtual-machine:~/.ssh# chmod 600 /root/.ssh/authorized_keys root@hgy-virtual-machine:~/.ssh# chmod 700 /root/.ssh/ root@hgy-virtual-machine:~/.ssh#
3)到10.11.53.127 (客户端)上测试
root@xiaohuang-virtual-machine:~/.ssh# ssh hgy@10.11.53.18
2.scp
两台linux主机之间进行文件复制
IP 10.11.53.127 (客户端)
IP 10.11.53.18 (服务器)
2.1 上传
1)在10.11.53.127(客户端)上操作
xiaohuang@xiaohuang-virtual-machine:~$ cat infoshow.word sshd:x:121:65534::/var/run/sshd:/usr/sbin/nologin 我能送你回家吗?可能外面要下雨了 xiaohuang@xiaohuang-virtual-machine:~$ scp infoshow.word hgy@10.11.53.18:/home/hgy/桌面 hgy@10.11.53.18's password: infoshow.word 100% 99 0.1KB/s 00:00 xiaohuang@xiaohuang-virtual-machine:~$
2)去10.11.53.18(服务器)上验证
hgy@hgy-virtual-machine:~$ cd /home/hgy/桌面 hgy@hgy-virtual-machine:~/桌面$ ls 1.py infoshow.word hgy@hgy-virtual-machine:~/桌面$ cat infoshow.word sshd:x:121:65534::/var/run/sshd:/usr/sbin/nologin 我能送你回家吗?可能外面要下雨了 hgy@hgy-virtual-machine:~/桌面$
2.2 下载
xiaohuang@xiaohuang-virtual-machine:~$ scp -r hgy@10.11.53.18:/home/hgy/桌面/myproject /home/xiaohuang/桌面 hgy@10.11.53.18's password: index.html 100% 0 0.0KB/s 00:00 myproject.css 100% 0 0.0KB/s 00:00 myproject.js 100% 0 0.0KB/s 00:00 world.png 100% 0 0.0KB/s 00:00 hellow.png 100% 0 0.0KB/s 00:00 xiaohuang@xiaohuang-virtual-machine:~$ cd /home/xiaohuang/桌面/myproject xiaohuang@xiaohuang-virtual-machine:~/桌面/myproject$ tree . ├── css │ └── myproject.css ├── img │ ├── hellow.png │ └── world.png ├── index.html └── js └── myproject.js 3 directories, 5 files
3.rsync
- -a 以递归的方式传输文件
- -v 打印传输速率文件数量
- -p 保持文件的权限
- -l 保持软连接
- -o保持所属用户
- -g 保持所属的组
- -t 保持文件的修改时间
- -u 如果说目标文件 更新 那么该文件就被忽略
- --delete 为了保证 两个文件夹内容一样 ab 先把b文件夹中 a没有的内容删除 然后 把a的内容复制过来
- --exclude 排除掉 指定的文件
- --progress 显示传输过程
3.1 本地同步
rsync -av one/ two/ 将one目录下面的文件 复制到 two目录下 rsync -av one two 将这个one目录复制到 two 目录下面 rsync -av --exclude=*.tar.* one/ two/ 将one目录下面的 内容复制到two 目录下 排除掉*.tar.* rsync -av --exclude=public/* --progress one/ two/ 只复制one 目录下的public 文件夹 里边的内容被忽略掉 rsync -avtogl --delete one/ two/ 先把two目录中 跟one目录不同的内容删除掉 然后再复制 rsync -auv one/ two/ 如果one目录下面的内容 不如two目录下面的新 谁最后改的就是新的
3.2 主机之间同步
rsync -auv --delete --progress --exclude=public/* one/ python06@10.11.53.66:/home/python06/test crontab -e -u need888 #每天的凌晨三点半、执行数据同步 30 3 * * * /usr/bin/rsync -auvplog --delete --progress --exclude=public/* one/ python06@10.11.53.66:/home/python06/test