ubunbu学习笔记-SSH远程数据传输

Posted 殇堼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubunbu学习笔记-SSH远程数据传输相关的知识,希望对你有一定的参考价值。

1.SSH的作用

它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,
通过SSH,可以把所有传输的数据进行加密,传输的数据是经过压缩的,所以可以加快传输的速度。
SSH分为客户端 openssh-client服务器 openssh-server
利用以下命令确认电脑上是否安装了客户端和服务器。

dpkg -l | grep ssh

2.SSH客户端和服务器的安装

客户端:远程登陆别的机器只需要安装客户端(Ubuntu默认安装了客户端),
服务器:要开放本机的SSH服务就需要安装服务器

sudo apt-get install openssh-client 
sudo apt-get install openssh-server 

3.启动服务器的SSH服务

首先确认ssh-server是否已经启动了
ps -e | grep ssh

sshd 表示ssh-server已经启动了。如果没有启动,可以使用如下命令启动:
sudo /etc/init.d/ssh start

4.SSH口令远程登录

如果需要调用图形界面程序可以使用 -X 选项

5.SSH数据传输

5.1scp介绍

在实现远程通信后,接下来使用scp命令实现本地文件和远程电脑之间的文件互传。
1.scp是secure copy的简写,
2.scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令
3.用于在Linux下进行远程拷贝文件的命令,类似cp,不过cp只是在本机进行拷贝不能跨服务器
4.scp传输是加密

5.2本地文件复制到服务器

scp /path1/filename root@servername:/path2

例如将台式机上的display.launch文件传输给spark机器人的bagfiles文件夹中。
scp /home/zjc/smartrobot/src/robot-model/launch/display.launch root@ spark:/home/spark/bagfiles/
成功传输如下图所示:
在这里插入图片描述

5.3服务器文件复制到本地

scp  root@servername:/path1/filename /path2 #path2 为存放在台式机上的文件路径

例如,将spark里面的base_bringup.launch传输到台式机上的bagfiles文件夹上。

scp root@**spark:/home/spark/spark/src/spark/spark_bringup/launch/base_bringup.launch /home/zjc/bagfiles
在这里插入图片描述

5.4服务器文件夹复制到本地

相比复制文件,复制文件夹,只需要添加一个-r选项即可。

scp -r root@servername:/path1  /path2 #path2 为存放在台式机上的文件路径

scp -r root@spark:/home/spark/bagfiles /home/zjc/bagfile
在这里插入图片描述
如果不添加-r选项将会报错

5.5本地文件夹复制到服务器

scp -r /path1 root@servername:/path2  #path1为本地文件夹路径,path2 服务器文件夹路径

将.gazebo文件存放在服务器中的bagfiles文件夹中,如下命令:

scp -r /home/zjc/.gazebo root @ spark:/home/spark/bagfiles
在这里插入图片描述
如果打开远程的文件夹没有发现刚刚传输过来的文件,是隐藏了,按ctrl+h就会显示。
在这里插入图片描述

reference

Linux通过ssh传输文件

以上是关于ubunbu学习笔记-SSH远程数据传输的主要内容,如果未能解决你的问题,请参考以下文章

安全牛学习笔记SSH远程端口转发和动态端口转发以及X协议转发

SSH远程管理服务

Git学习使用笔记

openSSH学习笔记

Linux学习笔记5

git 学习笔记二 (windows环境)