SSH服务,


  SSH: (Secure Shell)的缩写,是建立在应用层和传输层基础上的安全协议,SSH是目前 较为可靠的专为远程登录会话和其他网络服务提供安全性的协议,数据在使用ssh方式传输的时候是加密的,即使别人截获也不知道是什么数据;为客户端提供安全的Shell环境,用于远程管理,默认端口:TCP 22 telnet 23
SSH基于公钥加密(非对称加密)技术:
              数据加密传输;
                 客户端和服务器的身份验证;
相关软件包:

       

      配置文件参考:

         

            相关登录信息:

             

        命令:可以用-p选项指定端口号登陆:
      ssh 192.168.1.108 -p 222           

1》安装相关软件,默认已经安装;

     

  2》修改配置文件,用xshell软件远程登录:
  1>密码认证(默认使用,认证的用户需要本地存在,/etc/passwd /etc/shadow),

         简单配置:

         

         

   

      2>密钥认证:

         

      上述文件存放本地主机当前用户ssh连接过的服务器的公钥,存放在当前用户的家目录下的.ssh目录里,此文件不需要自己创建,ssh连接之后就会自动创建;
============= 公钥认证客户端具体流程(刚刚开始):  

     

        

      

       ==========================SSH公钥认证流程:

        

实例分析:
1》客户端用普通用户创建密钥对:

      

         注意:公钥和私钥,还有ssh配置文件的权限绝对不可以乱动,都是为600:

        

  2》将用户的公钥上传到服务器的root用户家目录下.ssh/authorized_keys:
   方法:

      

       

   3》在客户端进行验证,注意要用普通用户来登录服务器的root用户权限:

       

  ==============在xshell上使用密钥认证登录:

密钥的功能可分为两种:

  数据加密;能保证所发送数据的机密性;
  数字签名:能保证数据完整性,身份验证和不可抵赖;



===============数字签名原理:

    

 ===============密钥的额外功能使用:
1》定时可以在客户机上远程执行服务器上的脚本,而不用登录服务器?
       答:在客户机上写一个脚本触发服务器上的脚本,然后在客户机上执行计划任务就可以了,客户机与服务器之间必须配置密钥认证;

        

2》通过SSH可以运行服务器中的窗口程序:
  ssh -X root@192.168.1.106
  然后运行相关窗口程序命令,不过客户端必须在图形界面下的虚拟终端上运行命令;             

  ===================问题:
1>scp远程复制文件和ssh远程登录都可以使用-p来指定端口号;
2>ssh-copy-id 只能使用22号端口;
3>ssh的安全性问题?你有哪些措施?
  密钥认证;
  不允许root登录;
  只允许某些固定的IP地址ssh过来(使用TCPWrappers中的hosts.allow,hosts.deny);

 

     

        使用chkconfig --list 命令可以查看有哪些独立进程和超级进程     

         

  4>SSH日志存放地方?
  /var/log/messages
  /var/log/secure
  5>密钥文件的权限性问题?
  不可以随便改动,必须保持600权限,know_hosts文件也一样;
  6>SSH连接比较慢?
  将服务器中的配置文件sshd_config文件中的UseDNS选项注释去掉,并no,不让SSH服务器去进行DNS解析,这样可以节省大量时间;
  7>SSH远程登录执行脚本,如果突然网络断开了,脚本是否会继续执行?
  脚本会继续执行,当网络再次连接上后,如果客户端是在命令行上SSH连接的,那么客户端会自动再次连接上服务器;
  8>xshell中如何使用密钥连接服务器?
  Linux服务器首先生成一对密钥;将私钥发送给Windows客户端,并且将用公钥生成authorized_keys 文件;然后就可以在xshell端用密钥认证方式登录了;
  9>批量运维问题?
  使用要求:客户端与服务器之间要建立单向信任关系,密钥认证:
  pssh ------>parallel 并行 --->批量执行命令
  pscp------->批量传输文件

 

相关内容