远程链接Linux

为何要远程链接Linux

在实际的工做场景中,虚拟机界面或者物理服务器本地的终端都是不多接触的,由于服务器装完系统以后,都要拉倒IDC机房托管,若是是购买的云主机,那更碰不到服务器本体了,只能经过远程链接的方式管理本身的Linux系统。web

所以在装好Linux系统以后,使用的第一步应该是配置好客户端软件(ssh软件进行链接)链接Linux系统。算法

经过什么软件呢?shell

Xshell
SecureCRT

远程链接必备的知识

ip地址 > 服务器的位置

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

咱们找人,能够经过身份证号码对应某我的

那咱们找到某台服务器,也必须是经过IP地址

局域网

(针对本身班级/家庭所在环境)里也有预留的ip地址,通常是192/10/172开头,局域网的IP地址也是惟一的。windows

windows查看ip经过命令:安全

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

Linux查看ip方式:服务器

方式1:ip addr
方式2: ifconfig

外网Ip

全世界哪里均可以访问,网络

NAT模式

电脑宿主机的ip在局域网内是惟一的,选择了NAT模式建立虚拟机,虚拟机就是一个新的局域网多线程

桥接模式

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

仅主机模式

单机模式

端口的概念 

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

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

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

协议的概念

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

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

总结

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

第一次链接Linux

1.下载Xshell
2.命令: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       查看全部终端(功能最全,显示用户名,终端标记,登陆时间,负载等信息)

 

配置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_config
PasswordAuthentication no

systemctl restart sshd

4.在客户端便可免密登陆服务器了

ssh root@123.206.16.61

课后做业

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