• 远程登陆服务——SSH


    *知识点:

       1.SSH协议的概念

       2.公钥和私钥的原理

    *运维的技能点:

      1.远程登陆ssh命令

      2.远程拷贝scp命令

    *SSH公钥无密码登录流程

      1.客户端生成密钥对

        将生成的公钥传送到服务器

        服务器将客户端的公钥放到信任名单

      2.客户端登陆服务器不需要密码

    SSH是什么?

           网络服务协议种类很多,如FTP、POP、Telnet 等,然而这些协议都是在网络上用明文传输口令和数据,别有用心的人很轻易就能截获这些口令和数据,因此它们在互联网环境中具有极大的 安全隐患。SSH ( secure shell)也是一种网络协议, 用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

          SSH是互联网安全的一个基本解决方案, 目前已经成为Linux系统的标准配置。即使是最小化系统,也默认安装SSH服务程序,并且设置为开机启动,SSH 的通信端口22在防火墙设置中也被放行。

    远程登陆:

      1.使用Windows10远程登陆Ubuntu系统

        1.1安装ssh客户端,我们使用PuTTY(免费的)

         1.2登陆成功

      

      2.Ubuntu远程登陆Ubuntu

        1.在Ubuntu上开启SSH服务

          1.1打开Terminal终端, "sudo su" 切换到root账户

           1.2安装openssh-server

            输入“apt-get install opensssh-server"进行安装。

          ssh-server配置文件在/etc/ssh/sshd_config,可以在这定义SSH的服务端口,默认端口是22。

          可以使用以下命令停止/启动SSH服务:

              /etc/init.d/ssh stop

              /etc/init.d/ssh start

          判断ssh-server是否正常启动:

              ps -e | grep ssh      如果显示的进程中有sshd服务,就表示正常启动了。

          检查sshd服务的状态:

              service sshd status

     

    scp命令的使用

    Linux中的复制命令为cp,是copy的简写,用于单机上将某个文件或目录复制一份到指定路径。那么在网络中,是否可以实现cp命令的效果呢?也就是说,能否在不同主机之间实现文件的传输。scp命令可以做到,它是基于ssh登录,安全的文件复制( security copy)。 要把liweikuan主机家目录中的文件“123.txt" 传输到远程lwk主机的目录/home/lwk/桌面,可以做如下实验。首先查看liweikuan主机文件内容,在/home/liweikuan 文件夹下存在文本文件“123.txt", 内容为“Hello everyone" ;在lwk主机的目录/home/lwk/桌面 下查看没有该文件。

     

     scp命令的基本格式为:

    scp [可选参数] file_source file_target
    

     scp命令实现liweikuan主机和lwk主机的文件传输:

     

     在lwk主机上查看/home/lwk/桌面,实现成功复制。

    公钥(无密码验证)登录


          SSH命令的安全性之一表现在, 远程登录时需要输入目标主机的登录密码。但在生产过程中 也会带来一些麻烦, 例如自动化运维时需要远程密码登录,则要人工干预,只能管理员手动输人密码才能继续,不能实现完全的自动化。如果这个流程是在凌晨进行,那么自动化运维就会被打断。如何解决这个问题?要从公钥和私钥的原理上来说明。

            公钥和私钥就是俗称的不对称加密方式,是对称加密(使用用户名与密码)方式的提高。公钥,可以通过电子邮件发布,也可以通过网站下载,用来加密或验章。私钥,需要非常小心地保存,用来解密或签章。简单地说,(用公钥加密的内容只能用私钥解密,用私钥加密的内容只能用公钥解密)。举个简单的加密邮件的例子,A用公钥给这个邮件加密,这样就保证这个邮件不被别人看到,而且保证这个邮件在传送过程中没有被修改。B收到邮件后,用私钥就可以解密,就能看到内容。

    所以,在客户端A上生成公钥和私钥的密钥对,将公钥传送在服务器B或C上以供加密,将私钥留在主机A上,对内容进行解密。那么,从A登录B或C将不需要密码验证,原理如图所示。

     

    代码实现如下,1.客户端liweikuan生成密钥对:

     2.将liweikuan主机生成的公钥传送到主机lwk

    主机lwk将主机liweikuan的公钥放入信任名单

     主机liweikuan登陆主机lwk不需要密码

  • 相关阅读:
    PHP读取xlsx Excel 文件
    mysql无法创建外键问题
    MySQL数据库远程连接
    CentOS 配置防火墙操作实例(启、停、开、闭端口)
    linux实时查看更新日志命令
    国家/地区 语言缩写代码 查询备用
    php 滑动验证码
    php dirname(__FILE__) 获取当前文件的绝对路径
    PHP cannoy modify header information
    Mysql中用SQL增加、删除、修改(包括字段长度/注释/字段名)总结
  • 原文地址:https://www.cnblogs.com/liweikuan/p/15239456.html
Copyright © 2020-2023  润新知