查看: 3916|回复: 2

[i.MX6ULL竞赛专区] 【我的项目666】6.MYS-6ULx-IOT之SSH服务器

[复制链接]
  • TA的每日心情

    2021-1-28 20:09
  • 签到天数: 317 天

    [LV.8]以坛为家I

    61

    主题

    1582

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    8028
    最后登录
    2022-5-12
    发表于 2018-6-24 19:09:50 | 显示全部楼层 |阅读模式
    本帖最后由 小马哥-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,如下图设置
    putty-imx1.jpg

    然后 点击open,输入用户名
    putty-imx2.jpg

    通过ifconfig查看ip,没毛病。。。

    putty-imx3.jpg

    这样就可以不用串口链接开发板了,,,恩。

    ********************************
    然后说下是ssh客户端(putty)链接 ssh服务器(虚拟机的ubuntn)

    在虚拟机ubuntn中打开终端安装 ssh。输入命令 sudo apt-get install ssh
    ubssh1.jpg

    安装ok后,查看下ubuntn的ip,
    ubssh2.jpg

    这里显示的192.168.65.129.。。好像和我的真实ip不在一个网段,虚拟网卡设置的是NAT模式
    ubssh21.jpg

    然后打开putty,安装前面讲的方式链接ubuntn,链接ok后如下图
    ubssh3.jpg
    查看ip验证下,恩,没问题。。
    ubssh4.jpg
    然后就到了最后的主角戏了,,,ubuntn链接开发板
    输入命令  ssh root@192.168.78.106
    ip根据你开发板的ip写,如下图

    链接.jpg

    经过查看ip 验证链接ok,
    最后输入 exit 可推出ssh链接
    链接2.jpg


    到此为止,虚拟机已经和开发板链接ok,关于文件传输请参考 @xiaoshen-372360  的帖子:
    【调试经验】ubuntu 通过SSH传输文件以及文件夹

    写的很详细,就不多说了。
    补充:1:静态ip
    在虚拟机里, VMware 虚拟网卡设置为 NAT 模式的话, Linux 系统网卡设置为动态 IP即可;如果虚拟网卡设置为桥接模式,则需要为 Linux 设置一个与 Windows 系统同一个网段的静态 IP 地址。
    静态 IP 设置方法,可以在图形界面进入系统设置,选择网卡设置, IPV4 设置为“手动”,并在地址栏填写 IP 地址、掩码等信息,
    QQ截图20180624193024.jpg
    当然,也可以在终端使用 ifconfig 命令进行设置:
    1. sudo ifconfig eth0 192.168.1.137
    复制代码

    只有知道了 Linux 主机的 IP 地址后,才能进行 SSH 连接。如果不能确定 IP 地址,可以打开终端, 用 ifconfig 命令进行查看和确认:
    1. ifconfig
    复制代码

    进行 SSH 连接之前,最好先用 ping 命令测试 Windows 和 Linux 之间能否正常通信。可以在 Windows,打开 cmd 命令行,输入 ping 命令进行测试,例如测试 IP 为 192.168.1.137的 Linux 主机,能收到回应帧表示通信正常。
    QQ截图20180624193142.jpg

    也可以在 Linux 下打开终端,用 ping 命令 ping Windows 主机,收到回应帧表示测试正常,
    QQ截图20180624193209.jpg
    注意: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/administrator
    2.使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。






    评分

    参与人数 1 +2 收起 理由
    doatello + 2

    查看全部评分

    好好
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2018-7-31 08:40
  • 签到天数: 43 天

    [LV.5]常住居民I

    299

    主题

    876

    帖子

    0

    管理员

    Rank: 9Rank: 9Rank: 9

    积分
    14698
    最后登录
    2020-3-1
    发表于 2018-7-4 09:59:39 | 显示全部楼层
    感谢分享!坐个沙发!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2018-10-17 09:43
  • 签到天数: 47 天

    [LV.5]常住居民I

    21

    主题

    135

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    487
    最后登录
    2022-10-24
    发表于 2018-7-4 13:47:31 | 显示全部楼层
    感谢楼主分享,学习了
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-27 08:43 , Processed in 0.137154 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表