远程连接Linux

为什么要远程连接Linux

在实际的工作场景中,虚拟机界面或者物理服务器本地的终端都是很少接触的,因为服务器装完系统之后,都要拉倒IDC机房托管,如果是购买的云主机,那更碰不到服务器本体了,只能通过远程连接的方式管理自己的Linux系统。

因此在装好Linux系统之后,使用的第一步应该是配置好客户端软件(ssh软件进行连接)连接Linux系统。

通过什么软件呢?

XshellSecureCRT

远程连接必备的知识

ip地址 > 服务器的位置

互联网上的计算机都会有一个唯一的32位的ip地址,如同家里的门牌号,对应到服务器的位置。

我们找人,可以通过身份证号码对应某个人那我们找到某台服务器,也必须是通过IP地址

局域网

(针对自己班级/家庭所在环境)里也有预留的ip地址,一般是192/10/172开头,局域网的IP地址也是唯一的。

windows查看ip通过命令:

在cmd终端敲下:ipconfig查看“以太网适配器 本地连接  IPv4”的Ip地址就是自身网线的ip地址了

Linux查看ip方式:

方式1:ip addr方式2: ifconfig

外网Ip

全世界哪里都可以访问,

虚拟机网络配置

host only 仅主机 单机模式,了解即可电脑pc   >  皇帝虚拟机   >   老百姓老百姓被皇帝控制,无法与外届通信nat模式(网络地址转换)电脑pc  >    皇帝nat     >    宰相虚拟机    >    老百姓老百姓的房子是宰相分配的 与皇帝无关虚拟机的ip是nat分配的,电脑环境无论怎么变化,都不会影响虚拟机好处:在家,在学校,在公司,使用虚拟机,ip地址都不会变化桥接电脑pc    >    皇帝虚拟机   >    老百姓只要更换了一波皇帝,老百姓房子都得换只要换了个教室,插上网线,ip就变了好处:不用配置坏处:更换ip麻烦

NAT模式

电脑宿主机的ip在局域网内是唯一的,选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网

桥接模式

用此模式,就是局域网中一台独立的主机,它可以访问该类网段任意一台机器,

仅主机模式

单机模式

端口的概念

一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务器的。

端口(port)的设计规定是有65536这么多端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员能使用的是1024-65536区间的端口。

ftp:23dns:53http:80https:443ssh:22

协议的概念

protocol是为网络中的数据交换而建立的规则、标准或者约定,两个实体要通信,必须有同一种语言。

常见协议有超文本传输协议(HTTP)、文件传输协议(FTP),简单邮件传输协议(SMTP)、网络通信协议(TCP)、用户数据报协议(UDP)

总结

ip  ip地址      找人,找服务器  
port 端口号 提供什么服务
protocol 协议 说什么语言

第一次连接Linux

1.下载Xshell2.命令:ssh ip  (默认22端口)

那么问题来了。。。。

这个黑乎乎的是个什么玩意?

Linux终端也称为虚拟控制台,Linux终端采用字符命令方式工作,用户通过键盘输入命令,通过Linux终端对系统进行控制
Linux是一个多用户、多任务、支持多线程和多CPU的操作系统

Linux切换虚拟终端

ctrl+Alt+F[1~6],如想切换到第二号虚拟终端,则同时按Ctrl+Alt+F2
掌握普通用户登录后系统的提示符:$掌握root用户登录后系统的提示符:#

查看终端信息shell命令

那么如何查看当前Linux的终端有哪些呢?

命令,解释tty    查看当前终端who am i 仅显示当前用户正在使用的终端和登录时间w       查看所有终端(功能最全,显示用户名,终端标记,登录时间,负载等信息)

macos修改vmware Fusion的NAT网络

配置SSHD服务

  SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式。在此之前,一般使用 FTP 或 Telnet 来进行远程登录。但是因为它们 以明文的形式在网络中传输账户密码和数据信息,因此很不安全,很容易受到黑客发起的中 间人攻击,这轻则篡改传输的数据信息,重则直接抓取服务器的账户密码。

  想要使用 SSH 协议来远程管理 Linux 系统,则需要部署配置 sshd 服务程序。sshd 是基于 SSH 协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法:

  1. 基于口令的验证-------用账号和密码登录

  2. 基于密钥的验证-------需要在本地生成密钥对,然后把密钥对中的公钥上传至服务器,并与服务器中的公钥进行比较;

之前说过“Linux一切接文件”,也就是在Linux系统中修改服务程序,都得去修改它对应的配置文件,sshd程序的配置文件是/etc/ssh/sshd_config,检查配置文件参数

grep -v '^#' /etc/ssh/sshd_config |grep -v '^$'

在RHEL7系统中,已经默认安装启动了SSHD服务,

使用密码登录

ssh 192.168.12.15

基于口令的认证

1.在第一次登录的时候,系统会出现下面的提示信息:

The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.Are you sure you want to continue connecting (yes/no)?

上面的信息说的是:无法确认主机ssh-server.example.com(12.18.429.21)的真实性,不过知道它的公钥指纹,是否继续连接?

输入yes之后,那么该host key会被加入到Client的known_hosts中,格式如下

pyyuc.cn,123.206.16.61 ecdsa-sha2-nistp256....

终端提示如下:

Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts. Password: (enter password)

提示该host已经被确认,并追加到文件known_hosts中,然后就要输入密码,之后的流程如图

私钥是server端独有的,即使client的信息泄露,也没有私钥进行解密,保证数据安全。

使用安全秘钥

加密是对信息进行编码和解码的技术,它通过一定的算法将原本可以直接阅读的铭文信息转换成密文。密钥就是密文的钥匙,有私钥和公钥之分。

在数据传输时,担心被他人监听或截获,就可以在传输前先使用公钥对数据加密处理,然后再传送。这样只有掌握私钥的用户才能解密这段数据,除此之外的其让人即使截取了数据,也很难将其破解成明文。

基于公钥的免密登录

1.在客户端主机生成“秘钥对”

ssh-keygen

2.第二步:吧客户端主机中生成的公钥文件传送至远程主机:

3.对服务器端进行设置,使其只能允许秘钥登录,拒绝口令登录,然后重启sshd服务

vim /etc/ssh/sshd_configPasswordAuthentication nosystemctl restart sshd

4.在客户端即可免密登录服务器了

ssh root@123.206.16.61

课后作业

1)    开启Linux操作系统,要求以root用户登录GNOME图形界面,语言支持选择为汉语2)    使用快捷键切换到虚拟终端2,使用普通用户身份登录,查看系统提示符3)    使用命令退出虚拟终端2上登录的用户4)    使用快捷键切换到虚拟终端5,使用管理员身份登录,查看系统提示符5)    使用命令退出虚拟终端5上登录的用户6)    切回图形界面,右单击桌面打开终端,输入关闭系统的命令7)   成功设置服务器免密登录
(0)

相关推荐

  • Linux笔记【002】| 远程登录服务器软件:MobXterm与FileZilla

    一.登录服务器的软件--MobXterm 在实际开发或者计算的时候可以使用一些第三方的工具对远程的服务器进行控制.目前常用的Linux远程登录工具有:putty.xshell.secureCRT等等. ...

  • linux入门系列14--ssh服务及主机远程管理

    通过前面十余篇文章的介绍,相信已经初步入门Linux本地管理的基本方法了,后续的文章将介绍Linux中常用的服务部署以及如何为外部提供相应的服务. 系列文章第三篇"linux入门系列3--l ...

  • 设置ssh只允许用户从指定的IP登陆

    vim /etc/ssh/sshd_config AllowUsers root@192.168.10.15 systemctl restart sshd.service

  • 安全运维之远程访问

    为了方便使用,一般服务器都会通过配置远程访问来保证随时配置服务器,但是不正确的远程访问配置会对系统产生安全隐患,产生被入侵的风险. 使用安全的登录认证方式 现代服务器环境往往需要用户远程登录,而远程登 ...

  • Linux入侵后应急事件追踪分析

    0x01 情况概述监控软件监控到服务器存在异常的访问请求,故对此服务器进行安全检查.通过提供的材料发现内网机器对某公网网站存在异常的访问请求,网络环境存在着异常的网络数据的访问情况.针对其服务器进行综 ...

  • windows的Ubuntu子系统ssh和ftp

    一般来说,对Linux的服务器,我们会使用ssh和ftp来进行交互,通常是xshell以及xftp两个软件. 但是很多时候,我们可能并没有Linux服务器,这个时候其实自己的个人电脑也可以勉强成为Li ...

  • 本地数据库(SQL Server)远程连接服务器端服务器

    本地数据库(SQL Server 2012) 连接外网服务器的数据库,外网的服务器端需要做如下配置: 1. 首先是要打开 数据的配置管理工具 2. 配置相关的客户端协议,开启TCP/IP 3. 数据库 ...

  • 利用vs2019编译器远程调试linux程序(走心版)

    前段时间,参与了公司一个项目,需要开发linux服务程序,因为之前没接触过,对shell.GDB.makefile不熟悉,项目要的又紧,所以决定使用更为熟悉的vs编译器来远程调试linux程序,等有时 ...

  • win7远程连接要求输入凭据?

    win7远程连接要求输入凭据?

  • WinSCP+PuTTY搭配使用 ,解决Windows连接Linux系统文件传输和终端登陆

    一.WinSCP.PuTTY的功能: 1. WinSCP主要功能是解决本地机器和远程服务器上传输文件,一般本地为windows系统,远程可以是window或linux系统,优势在于支持多语言.可在图形 ...

  • CentOS7 docker开启tcp端口并进行客户端远程连接

    #docker版本:18.09.0,最好保证客户端端口和服务端端口相同 [root@Centos7 ~]# dockerd-ce -v Docker version 18.09.0, build 4d ...

  • win10 服务器远程连接数量限制修改

    打开电脑命令(win+r)输入:gpedit.msc 依次打开管理模板>>windows组件>>远程桌面服务>>远程桌面会话主机 等目录 然后就是 选择 连接> ...

  • win10不能远程连接的解决方法

    方法一:在开始-运行-输入gpedit.msc,打开组策略,然后计算机配置-windows设置-本地策略-安全选项,在右边的倒数第三个选项就可以看到 帐户: 使用空白密码的本地帐户只允许进行控制台登录 ...

  • windows7系统远程连接如何设置

    通过远程连接,我们可以轻松的实现远距离操作电脑的目的.一般windows系统都自带有远程桌面连接功能,不过很多网友不清楚如何操作.那么windows7系统如何设置远程连接呢?下面小编就教下大家win7 ...

  • WindowsServer2012r2远程桌面连接单、多用户同时远程连接设置

    安装远程桌面服务下子项远程桌面会话主机.远程桌面授权: 点击左下角服务器管理器,选择添加角色和功能 安装完成后会自动重启服务器,如报错找不到文件,请指定备用源路径. 2.配置远程桌面连接数及激活许可证 ...