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