Linux远程操作和ssh相关记录总结

Scp

基于ssh登录进行安全的远程文件拷贝的命令

  • 从本地复制到远程
#指定了用户名,命令执行后需要再输入密码
scp local_file remote_username@remote_ip:remote_folder 
scp local_file remote_username@remote_ip:remote_file 
  • 从远程复制到本地
scp root@www.runoob.com:/home/root/others/music /home/space/music/1.mp3 
scp -r www.runoob.com:/home/root/others/ /home/space/music/
  • 指定端口
#scp 命令使用端口号 4588
scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator

rsync

rsync命令是remote sync(远程同步),但它不仅可以远程同步数据(类似于 scp 命令),还可以本地同步数据(类似于 cp 命令)。不同于 cp 或 scp 的一点是,使用 rsync 命令备份数据时,不会直接覆盖以前的数据(如果数据已经存在),而是先判断已经存在的数据和新数据的差异,只有数据不同时才会把不相同的部分覆盖。

#用于仅在本地备份数据;
rsync [OPTION] SRC DEST
#用于将本地数据备份到远程机器上;
rsync [OPTION] SRC [USER@]HOST:DEST
#用于将远程机器上的数据备份到本地机器上;
rsync [OPTION] [USER@]HOST:SRC DEST
rsync [OPTION] [USER@]HOST::SRC DEST
rsync [OPTION] SRC [USER@]HOST::DEST

对比

  • scp消耗资源少,不会提高多少系统负荷。
  • rsync比scp会快一点,但当小文件多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。

ssh免密登陆

ssh使用的是非对称加密,在此过程中,只有公钥会被传输,而私钥是服务端本地保存,因此即便公钥被监听,也无法拿到原始密码,从而登录服务器。

ssh免密登陆则是通过在服务器中保留公钥,通过对公钥进行加密形成相关字符串,而对比本地加密字符串,一致的情况下便直接登陆,免除密码

操作流程

  1. 生成相关公钥ssh-keygen -t rsa
  2. ssh-copy-id 用户名@ip地址
  3. 在本机创建别名,快捷登录服务器 vim ~/.ssh/config
Host  alias #自定义别名
    HostName   hostname       #替换为你的ssh服务器ip或domain
    Port       port           #ssh服务器端口,默认为22
    User       username       #ssh服务器用户名
    IdentityFile    ~/.ssh/id_rsa   #第一个步骤中,本机生成的公钥文件对应的私钥文件的地址

参考:
https://www.runoob.com/linux/linux-comm-scp.html

上一篇:python爬虫入门(九)Scrapy框架之数据库保存


下一篇:Linux SCP 远程连接报错 Host key verification failed.