zoukankan      html  css  js  c++  java
  • 远程连接linux

    为什么要远程连接linux服务器?

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

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

    使用什么软件连接服务器呢?

    Xshell
    SecureCRT

    远程连接得到必备知识?

    1 IP地址 > 服务器的位置!

    windows查看的指令是 ipconfig
    
    linux 查看查看的指令是ipconfig  或者 ip a

    虚拟机网络配置

    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提供多个服务,因此就有了“端口号”来区分不同的服务器的。的设计规定是有65536这么多端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员能使用的是1024-65536区间的端口。

    端口(port)

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

    总结

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

    第一次连接Linux

    1 下载xshell

    2 ssh root@192.168.15.61  等待登录 输入密码就可以了

     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
     
  • 相关阅读:
    week4
    week3
    2017福州大学面向对象程序设计寒假作业二
    Week2
    10个android开发必备的开源项目
    Day Ten
    Day Nine
    Day Eight
    Day Seven
    Day Six
  • 原文地址:https://www.cnblogs.com/lingcai/p/10386157.html
Copyright © 2011-2022 走看看