本帖最后由 小马哥-1650185 于 2018-6-24 19:32 编辑
本帖续上贴主要介绍集中链接方式。。
SSH 是 Secure Shell 的缩写,是建立在应用层和传输层基础上的安全协议,能够有效防止远程管理过程中的信息泄露问题。
SSH 实际上是一个 Shell,可以通过网络登录远程系统,当然,前提是远程系统已经开启了 SSH 服务。经常会遇到下列情形:
(1) Linux 主机不在本地,但又要使用或者维护这台计算机;
(2) 一个嵌入式 Linux 产品不方便接调试串口,需要进行维护;
(3) 在远程机器和本地机器之间进行文件传输。
如果远程目标系统已经开启了 SSH 服务,通过 SSH 可以轻松解决以上问题。
使用 SSH 服务,一方面需要在远程系统上安装 SSH 服务,另一方面要在本地系统上安装 SSH 客户端,常见的 SSH 客户端有 putty、 SSH Secure Shell Client 等。
先撇开虚拟机,说说pc连 开发板的ssh 方式。
这里仅是说下ssh的用法,这个是需要网络链接的,并且需要知道开发板的ip地址。。。。这是前提条件,哈哈哈。。
假如现在已经知道开发板的ip是 192.168.78.106
那么打开putty,如下图设置
然后 点击open,输入用户名
通过ifconfig查看ip,没毛病。。。
这样就可以不用串口链接开发板了,,,恩。
********************************
然后说下是ssh客户端(putty)链接 ssh服务器(虚拟机的ubuntn)
在虚拟机ubuntn中打开终端安装 ssh。输入命令 sudo apt-get install ssh
安装ok后,查看下ubuntn的ip,
这里显示的192.168.65.129.。。好像和我的真实ip不在一个网段,虚拟网卡设置的是NAT模式
然后打开putty,安装前面讲的方式链接ubuntn,链接ok后如下图
查看ip验证下,恩,没问题。。
然后就到了最后的主角戏了,,,ubuntn链接开发板
输入命令 ssh root@192.168.78.106
ip根据你开发板的ip写,如下图
经过查看ip 验证链接ok,
最后输入 exit 可推出ssh链接
到此为止,虚拟机已经和开发板链接ok,关于文件传输请参考 @xiaoshen-372360 的帖子:
【调试经验】ubuntu 通过SSH传输文件以及文件夹
写的很详细,就不多说了。
补充:1:静态ip
在虚拟机里, VMware 虚拟网卡设置为 NAT 模式的话, Linux 系统网卡设置为动态 IP即可;如果虚拟网卡设置为桥接模式,则需要为 Linux 设置一个与 Windows 系统同一个网段的静态 IP 地址。
静态 IP 设置方法,可以在图形界面进入系统设置,选择网卡设置, IPV4 设置为“手动”,并在地址栏填写 IP 地址、掩码等信息,
当然,也可以在终端使用 ifconfig 命令进行设置:
- sudo ifconfig eth0 192.168.1.137
复制代码
只有知道了 Linux 主机的 IP 地址后,才能进行 SSH 连接。如果不能确定 IP 地址,可以打开终端, 用 ifconfig 命令进行查看和确认:
进行 SSH 连接之前,最好先用 ping 命令测试 Windows 和 Linux 之间能否正常通信。可以在 Windows,打开 cmd 命令行,输入 ping 命令进行测试,例如测试 IP 为 192.168.1.137的 Linux 主机,能收到回应帧表示通信正常。
也可以在 Linux 下打开终端,用 ping 命令 ping Windows 主机,收到回应帧表示测试正常,
注意:Windows 7 默认打开了系统防火墙,是禁 ping 的,如果在 Linux 下 ping Windows7,需要先关闭 Windows 7 的防火墙。
另外,Windows 也需要设置问静态 IP 地址。
2.scp指令
作为小白 第一次见到scp,以前只知道cp
以下资源 来自网络,搬过来看下
Linux scp命令用于Linux之间复制文件和目录。 scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。 语法scp [-1246BCpqrv [-c cipher [-F ssh_config [-i identity_file[-l limit [-o ssh_option [-P port [-S program[[user@host1file1 [...] [[user@host2file2简易写法: scp [可选参数] file_source file_target
参数说明: - -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 或者 scp local_file remote_username@remote_ip:remote_file 或者 scp local_file remote_ip:remote_folder 或者 scp local_file remote_ip:remote_file
- 第1,2个指定了用户名,命令执行后需要再输入密码,第1个仅指定了远程的目录,文件名字不变,第2个指定了文件名;
- 第3,4个没有指定用户名,命令执行后需要输入用户名和密码,第3个仅指定了远程的目录,文件名字不变,第4个指定了文件名;
应用实例: scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music/001.mp3 scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music scp /home/space/music/1.mp3 www.runoob.com:/home/root/others/music/001.mp3 复制目录命令格式: scp -r local_folder remote_username@remote_ip:remote_folder 或者 scp -r local_folder remote_ip:remote_folder - 第1个指定了用户名,命令执行后需要再输入密码;
- 第2个没有指定用户名,命令执行后需要输入用户名和密码;
应用实例: scp -r /home/space/music/ root@www.runoob.com:/home/root/others/ scp -r /home/space/music/ www.runoob.com:/home/root/others/ 上面命令将本地 music 目录复制到远程 others 目录下。 2、从远程复制到本地从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可,如下实例 应用实例: 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/说明1.如果远程服务器防火墙有为scp命令设置了指定的端口,我们需要使用 -P 参数来设置命令的端口号,命令格式如下: #scp 命令使用端口号 4588scp -P 4588 remote@www.runoob.com:/usr/local/sin.sh /home/administrator2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。
|