远程登陆服务——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不需要密码

 

posted @ 2021-09-08 17:38  liweikuan  阅读(996)  评论(0编辑  收藏  举报