ssh 语法 1 $ ssh username@hostname -p port
示例 例如: 主机名:192.168.0.110 端口:22 用户名:root
scp 语法 scp [参数] [原路径] [目标路径]
参数 -1 强制scp命令使用协议ssh1 -2 强制scp命令使用协议ssh2 -4 强制scp命令只使用IPv4寻址 -6 强制scp命令只使用IPv6寻址 -B 使用批处理模式(传输过程中不询问传输口令或短语) -C 允许压缩。(将-C标志传递给ssh,从而打开压缩功能) -p 保留原文件的修改时间,访问时间和访问权限。 -q 不显示传输进度条。 -r 递归复制整个目录。 -v 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。 -c cipher 以cipher将数据传输进行加密,这个选项将直接传递给ssh。 -F ssh_config 指定一个替代的ssh配置文件,此参数直接传递给ssh。 -i identity_file 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。 -l limit 限定用户所能使用的带宽,以Kbit/s为单位。 -o ssh_option 如果习惯于使用ssh_config(5)中的参数传递方式, -P port 注意是大写的P, port是指定数据传输用到的端口号 -S program 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
示例 复制文件: 命令格式:
1 $ scp local_file remote_username@remote_ip:remote_folder
或者
1 $ scp local_file remote_username@remote_ip:remote_file
或者
1 $ scp local_file remote_ip:remote_folder
或者
1 $ scp local_file remote_ip:remote_file
第1,2个指定了用户名,命令执行后需要输入用户密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名
复制目录: 命令格式:
1 $ scp -r local_folder remote_username@remote_ip:remote_folder
或者
1 $ scp -r local_folder remote_ip:remote_folder
第1个指定了用户名,命令执行后需要输入用户密码; 第2个没有指定用户名,命令执行后需要输入用户名和密码。
应用软件 Extundelete Extundelete介绍 extundelete是基于Linux的一个数据恢复工具,它通过分析文件系统的日志,解析出所有文件的inode信息,从而可以恢复Linux下主流的ext3,ext4文件系统下被误删除的文件。
Extundelete安装 1 $ yum groupinstall "Development Tools" -y
安装依赖包 1 $ yum install e2fsprogs-devel.x86_64 -y
下载extundelete 1 $ wget https://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2
安装extundelete 1 2 3 4 5 $ tar jxf extundelete-0.2.4.tar.bz2 $ cd extundelete-0.2.4 $ ./configure $ make $ make install
验证安装 extundelete用法 命令格式
1 extundelete [option] [action] device-file
[option]参数 – version,-[Vv],显示软件版本号 – help,显示软件帮助信息 – superblock,显示超级块信息 – journal,显示日志信息 – after dtime,时间参数,表示在某段时间之后被删的文件或目录 – before dtime,时间参数,表示在某段时间之前被删的文件或目录
[action]参数 – inode ino,显示节点“ino”的信息 – block blk,显示数据块“blk”的信息 – restore-inode ino[,ino,…],恢复命令参数,表示恢复节点“ino”的文件,恢复的文件会自动放在当前目录下的RESTORED_FILES文件夹中,使用节点编号作为扩展名 – restore-file ‘path’,恢复命令参数,表示将恢复指定路径的文件,并把恢复的文件放在当前目录下的RESTORED_FILES目录中 – restore-files ‘path’,恢复命令参数,表示将恢复在路径中已列出的所有文件 – restore-all,恢复命令参数,表示将尝试恢复所有目录和文件
j journal,表示从已经命名的文件中读取扩展日志 b blocknumber,表示使用之前备份的超级块来打开文件系统,一般用于查看现有超级块是不是当前所要的文件 B blocksize,通过制定数据块大小来打开文件系统,一般用于查看已经知道大小的文件 extundelete实战 查询可恢复的数据信息 1 $ extundelete /dev/sdb1 --inode 2
恢复单个文件 1 $ extundelete /dev/sdb1 --restore-file passwd
恢复单个目录 1 $ extundelete /dev/sdb1 --restore-directory network-scripts
恢复所有删除数据 1 $ extundelete /dev/sdb1 --restore-all
恢复某个时间段数据 1 2 3 $ date +%s 1449027652 $ extundelete --after 1449020452 --restore-all /dev/sdb1
在上面的例子中恢复的是两个小时之内被删除的文件。
在这个操作过程中,需要注意的是“–after”参数后面跟的时间是个总秒数。起算时间是“1970-01-01 00:00:00 UTC”,通过”date +%s”命令即可将当前时间转换为总秒数,因为恢复的是两个小时之内的数据,所以“1449020452”这个值就是通过“1449027652”减去“60602=7200”获得的。
常见问题 ECDSA host key has changed错误 问题描述 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ssh-copy-id [email protected] /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/iamwlb/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ ERROR: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ERROR: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! ERROR: Someone could be eavesdropping on you right now (man-in-the-middle attack)! ERROR: It is also possible that a host key has just been changed. ERROR: The fingerprint for the ECDSA key sent by the remote host is ERROR: SHA256:EGV0iIDO1uf/rsxSRaaCVD/2vRECD8pv0E83gBFfy9s. ERROR: Please contact your system administrator. ERROR: Add correct host key in /Users/iamwlb/.ssh/known_hosts to get rid of this message. ERROR: Offending ECDSA key in /Users/iamwlb/.ssh/known_hosts:4 ERROR: ECDSA host key for 192.168.100.11 has changed and you have requested strict checking. ERROR: Host key verification failed.
解决办法 从本地机器移除192.168.100.11的缓存
1 $ ssh-keygen -R 192.168.100.11
CentOS下ifconfig command not found CentOS7.0默认是没有安装net-tools,会导致输入ifconfig命令找不到。 解决办法:
1 2 $ yum upgrade $ yum install net-tools
another app is currently holding the yum lock;waiting for it to exit错误 问题描述 使用yum命令时,提示“another app is currently holding the yum lock;waiting for it to exit”。
解决办法 1 $ rm -f /var/run/yum.pid
CentOS重启后NTP服务失败解决办法 问题描述 CentOS7,重启后ntp服务失败,报错如下:
1 2 $ ntpq -p ntpq: read : Connection refused
解决办法 1 $ systemctl disable chronyd
参考 https://www.centos.org/forums/viewtopic.php?t=58530