SSH应用整理

来源:互联网 发布:金蝶软件服务中心 编辑:程序博客网 时间:2024/05/21 14:17

SSH通常是在登陆远程服务器时使用,是非常有价值的远程控制工具,本文就SSH相关的一些应用进行整理。

一、SCP进行文件复制

在没有FTP等文件传输工具的情况下,SCP是非常有价值的文件传输工具,可以轻松实现本地和远程服务器之间的文件交互。

1、将本地文件上传到远程服务器

命令格式为:scp /local directory/filename user@server:/directory/filename

在经过身份认证之后,文件将会成功传输到远程服务器

2、将远程服务器上的文件下载到本地

命令格式为:scp user@server:/directory/filename /local directory/filename

备注:如果进行文件夹传输时,命令格式同文件操作,只需要在scp之后加上-r参数

二、SSH管道进行文件传输

虽然SCP可以实现本地和远程服务器之间的文件传输,然而SCP不能跨越子目录,也不能保留文件的所有者和权限位。而SSH在没有登陆交互式会话时,是接收标准输入(STDIN)并将结果打印到标准输出(STDOUT),这就意味着可以通过SSH和管道命令来实现本地和远程服务器之间的数据交互和文件传输。

1、连接SSH时执行控制脚本

在某些情况下,并不需要远程登陆到服务器上,而仅仅是需要启动某个应用脚本,这时只需要在SSH连接中加入相应的命令操作

命令格式为:ssh user@server "cd /directory; mkdir new directory;....."

2、使用SSH上传文件到远程服务器

命令格式为:tar -cvzf - /directory | ssh user@server "cat > file.tar.gz"

或者直接解压:tar -cvf - /directory | ssh user@server "tar -xf -"

PS:在本命令中-是必不可少的,创建压缩包的-的作用是将tar打包后的内容直接显示在标准输出,而并不是将其写入到某个文件中;而解压缩包中“-”的作用是从标准输入中获取压缩包的内容,而不是从某个文件中进行读取。这是个人理解,并没有找到准确的说明,如有读者知道明确说法,烦请告知。

3、使用SSH将远程服务器上的文件拷贝到本地

命令格式为:ssh user@server "cat file.tar.gz" | tar -xf -

或者使用命令:ssh user@server "cd /directory && tar -cvf - /directory" > file.tar.gz


原创粉丝点击