• 远程登录Linux方法(Linux平台相互远程;Windows远程登录Linux、远程编码、文件传输;无法远程登录的问题解决;c程序的编译)


    在实际使用Linux系统过程中我们不可避免的需要远程登录Linux,这是因为未来大家使用Linux服务器的时候你所对应的那台Linux服务器不一定提供界面(服务器可能在外地)。本篇将会介绍远程登录Linux的方法。

    1. SSH介绍

    SSH为Secure Shell的缩写,由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。

    SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。常用于远程登录,以及用户之间进行资料拷贝

    利用SSH协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是 UNIX 系统上的一个程序,后来又迅速扩展到其他操作平台。SSH 在正确使用时可弥补网络中的漏洞。SSH 客户端适用于多种平台。几乎所有 UNIX 平台—包括 HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。

    使用SSH服务,需要安装相应的服务器和客户端。客户端和服务器的关系:如果,A机器想被B机器远程控制,那么,A机器需要安装SSH服务器,B机器需要安装SSH客户端。

    2. Linux平台相互远程及文件传输

    2.1 Linux平台相互远程

    操作命令:ssh -l username hostip

    • -l 选项, 是字母“l”,不是数字“1”
    • username 被远程登录的用户名
    • hostip 被远程登录的ip地址

    注意:远程登录的两台机器必须要能ping通(平通)。

    首先,查看需要被远程机器的ip:
    在这里插入图片描述
    远程登录(这里是用户 wencong ( A 机器 ) 远程登录 edu ( B 机器 ) ), 可以不用sudo :
    在这里插入图片描述
    SSH 告知用户,这个主机不能识别,这时键入"yes",SSH 就会将相关信息,写入" ~/.ssh/know_hosts" 中,再次访问,就不会有这些信息了。然后输入完口令,就可以登录到主机了。

    接着,提示输入登陆密码:
    在这里插入图片描述
    登陆成功:
    在这里插入图片描述
    在这里插入图片描述
    exit是退出远程登录命令

    2.2 Linux平台间文件传输

    SSH 提供了一些命令和shell用来登录远程服务器。在默认情况下,不允许用户拷贝文件,但还是提供了一个“scp”命令。

    • RemoteUserName 远程用户名
    • RemoteHostIp 远程ip
    • RemoteFile 远程文件,可带上路径
    • FileName 拷贝到本地后的名字,可带上路径,不带路径拷贝到当前目录

    本地文件复制到远程:

    scp FileName RemoteUserName@RemoteHostIp:RemoteFile
    scp FileName RemoteHostIp:RemoteFolder
    scp FileName RemoteHostIp:RemoteFile
    
    • 1
    • 2
    • 3

    本地目录复制到远程:

    scp -r FolderName RemoteUserName@RemoteHostIp:RemoteFolder
    scp -r FolderName RemoteHostIp:RemoteFolder
    
    • 1
    • 2

    远程文件复制到本地:

    scp RemoteUserName@RemoteHostIp:RemoteFile FileName
    scp RemoteHostIp:RemoteFolder FileName
    scp RemoteHostIp:RemoteFile FileName
    
    • 1
    • 2
    • 3

    远程目录复制到本地:

    scp -r RemoteUserName@RemoteHostIp:RemoteFolder FolderName
    scp -r RemoteHostIp:RemoteFolder FolderName
    
    • 1
    • 2

    拷贝远程的文件:
    在这里插入图片描述
    在这里插入图片描述
    拷贝远程的文件可以任意修改其名字:
    在这里插入图片描述
    拷贝远程的文件可以指定存放路径:
    在这里插入图片描述

    3. Windows远程登录Linux及文件传输

    3.1 Windows远程登录Linux

    未来大家使用Linux服务器的时候你所对应的那台Linux服务器不一定提供界面(服务器可能在外地),所以需要使用Windows平台下远程登录Linux,用命令对这台服务器进行操作。

    3.1.1 Xmanager配置

    如果想在 Windows 平台下远程登录 Linux,这时候,Windows 需要安装 安装相应软件包。这里介绍是Xmanager。

    Xmanager是一款小巧、便捷的浏览远端X窗口系统的工具。它包含Xshell、Xftp等软件:
    在这里插入图片描述

    • Xshell:是一个Windows平台下的SSH、TELNET和RLOGIN终端软件。它使得用户能轻松和安全地在Windows平台上访问Unix/Linux 主机。
    • Xftp:是一个应用于 Windows 平台的 FTP 和 SFTP 文件传输程序。Xftp能安全地在Unix/Linux 和 Windows 平台之间传输文件。

    配置Xshell,远程登录:前提是windows能够ping通Linux系统
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    连接成功之后就可以看到Linux下的一个终端。XSehll模拟了Linux下的一个终端,实现windows系统下在模拟终端中访问Linux系统。

    Linux默认采用的编码格式是UTF-8,Windows默认采用的编码格式是ANSI(GB2312、GBK),所以需要设置一下相应编码:

    在这里插入图片描述

    3.1.2 SecureCRT配置(后期实际使用的为此软件)

    在此之前我已经在windows上ping通了Linux。

    SecureCRT模拟了Linux下的一个终端,实现windows系统下在模拟终端中访问Linux系统。

    SecureCRT的配置过程与XShell基本一致。其安装过程省略。
    打开软件,配置如下:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    报错如下:猜测是由于我的Linux系统安装配置问题
    在这里插入图片描述
    参考I.MX6U开发板交叉编译Qt项目中2.2.2的解决方法进行设置。
    再重新连接,输入密码
    在这里插入图片描述
    连接成功之后就可以看到Linux下的一个终端。
    在这里插入图片描述
    Linux默认采用的编码格式是UTF-8,Windows默认采用的编码格式是ANSI(GB2312、GBK),所以需要设置一下相应编码:此处看到已经是UTF-8的编码。
    在这里插入图片描述
    在这里插入图片描述

    3.2 Windows下远程编码及文件传输

    写代码编码的时候登录Linux的远程使用vim作为文本编辑器还是比较慢的。
    可以使用UltraEdit远程软件登录Linux进行远程编码,远程连接好之后在其中写代码就可以直接放到Linux下。

    3.2.1 UltraEdit配置及远程编码

    SecureCRT模拟了Linux下的一个终端,实现windows系统下在模拟终端中访问Linux系统。UltraEdit是一个文本编辑器,配置过程如下:

    (1)创建连接的Linux账户信息
    在这里插入图片描述
    其中的“Initial directory”指的是软件进入后的初始目录即软件连接到的Linux的目录
    在这里插入图片描述
    (2)与Linux目录进行连接
    在这里插入图片描述

    在这里插入图片描述

    上面的配置可以看到在最后是我利用SecureCRT创建的一个“test.c”文件,右键选择“Open in UltraEdit”将其在UE中打开。

    此处需要注意利用UE是不能创建文件的,因此一般我们会选择将UE与SecureCRT搭配使用,利用SecureCRT在对应目录:touch xxx或者vim xxx,然后在UE中写xxx的内容,写好之后ctrl+s保存

    (3) 远程编码
    在UE中编码完成后,ctrl+s保存
    在这里插入图片描述
    我们到SecureCRT下打开查看,其中内容确实已经修改。
    在这里插入图片描述
    编译运行一下:可以看到其内容实现了编译及运行

    dawes@ubuntu:~/MyCoding$ gcc test.c -o uetest
    dawes@ubuntu:~/MyCoding$ ls
    test.c  uetest
    dawes@ubuntu:~/MyCoding$ ./uetest 
    UE TEST 
    dawes@ubuntu:~/MyCoding$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    注意:需要保证.bashrc中配置的编码格式为utf-8(echo $LANG),同时也要保证在windows中编辑使用的是utf-8,否则可能有中文显示的问题。上面的编译和运行没有问题,应该设置是正确的。

    3.2.2 Windows与Linux之间的文件传输

    Windows与Linux之间的文件传输实现就很简单了,直接在下面界面中拖动文件实现即可。
    在这里插入图片描述

  • 相关阅读:
    C++ extern关键字理解
    字节新鲜面经
    区块链积分系统:革新支付安全与用户体验的未来
    【FPGA教程案例48】图像案例8——基于FPGA的RGB图像转化为HSV图像的实现,通过MATLAB进行辅助验证
    详解SpringBoot2.x前言
    3个实用性特别强的毕业论文选题思路
    hive统计页面停留时间
    将 Jupyter Notebook 用于 JavaScript (使用 Node.js 或 Deno 环境)
    神经元的结构模型图片,神经元模型图片解析
    [附源码]计算机毕业设计基于springboot框架的食品安全监督平台的设计与实现
  • 原文地址:https://blog.csdn.net/Dasis/article/details/134394805