美文网首页
胡说openssh

胡说openssh

作者: QGUOFENG | 来源:发表于2017-03-11 08:46 被阅读0次

    在计算机应用中,较常用的远程登陆工具有telnet和ssh。

    telnet是“远古”时期的远程登陆工具,它在进行远程登陆的认证过程中都是以明文的形式进行telnet数据传输同样是以明文的形式进行的telnet的使用严重的威胁到的网络中的信息安全。

    刚开始,网络都是小规模的存在,使用的人少之又少,所以安全问题并没有受到重视,但是随着网络的快速发展网络安全成为备受关注的问题,于是ssh诞生了。

    ssh英文全程为Secure Shell,翻译成中文叫做安全的shell.ssh采用的是C/S架构,所以它有客户端程序和服务器端程序。ssh服务通过22端口来进行传输数据,并通过tcp封装数据,数据的传输以密文的形式进行,所以安全性得到了很大的提升但是ssh是一款商业软件,这并不符合大部分用户的使用需求,于是openssh出现在人们的视线中。

    openssh 见名思意--开源的ssh。openssh 即是一款软件,也是协议.(ssh,sshd)sshd有两种认证方式:
    1、基于口令的认证
    2、基于密钥的认证sshd
    两种认证方式,相对于telnet来说,在安全方面有了很大的提升。但是基于口令的认证方式,在本地主机和远程主机进行远程登陆时,用户帐号密码仍然需要通过网络传输。该认证方式无法避免第三方攻击,黑客通过抓取网络传输的数据包,破译该数据包,获取密码,然后冒充本地主机与远程主机通信,获取数据。所以推荐采用基于密钥的认证,该认证方式可以避免用户密码在网络中传输所带来的安全问题。
    该方式还可以在第二次远程登陆时,不用在输入密码基于密钥的认证方式的实现:

    1、生成一对密钥

    2、公钥以安全的方式传输至服务器端某用户的家目录下的.ssh/authorized_keys文件中

    3、私钥由自己保管(放在家目录.ssh/)目录下

    即使采用的这么多防护措施,仍然可能受到黑客的攻击,所以ssh不仅给传输的数据加密,并且在规定时间内更换加密密钥,防止,黑客暴力破解。在sshd的配置文件中,可以设置多种限制,例如:ListenAddress192.168.1.1:表示只给给IP地址的主机提供服务还可以设置,root无法直接远程登陆,设置最大链接,密码失效时间等。大大提高了数据远程传输的安全

    实例:简单实现两台主机基于密钥的认证(本实验在物理--debian机和虚拟机--ubuntu中进行)
    物理机ip地址:192.168.2.190虚拟机ip地址:192.168.2.1111、将虚拟机(ubuntu)的防火墙开放22端口(也可以直接使用iptables -F,清空所有规则,但是不建议这么做)
    iptables -A INPUT -s192.168.2.0/24-d192.168.2.0/24-p tcp --dport22-m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -s192.168.2.0/24-d192.168.2.0/24-p tcp -sport22-m state --state ESTABLISHED -j ACCEPT
    2、在物理机(debian)中生成一对密钥
    ssh-keygen -t rsa(跳出的选项可以全部默认也可以根据个人需求自行填写,如果通过脚本生成密钥请man,查询选项)完了之后会在家目录的.ssh目录中产生两个文件id_rsa 和id_rsa.pub(该文件名可以自己命名,最好取名有意义)
    3、将物理机中的公钥(id_rsa.pub)复制到虚拟机中的某用户的家目录的.ssh/authorized_keys文件中两种方法:
    scpssh-copy-id
    ssh-copy-id,
    推荐使用ssh-copy-id直接自动的将密钥复制到.ssh/authorized_keys文件中scp需要自己指定位置实现:
    ssh-copy-id-i ./id_rsa.pubusername@192.168.2.111scp ./id_rsa.pubusername@192.168.2.111:~/.ssh/authorized_keys
    该实例的信任的是单项的,物理机到虚拟机建立基于密钥认证的关系,物理机ssh远程登陆虚拟机,二次登陆不需要密码但是,虚拟机到物理机没有建立该认证方式,所以无法进行密钥认证方式

    脚本简单实现ssh密钥认证
    #==============================================================
    # File Name:openssh.sh# Author:qgf# Mail:qq.com# Created Time:2016年10月10日 星期一 #==============================================================
    #!/bin/bash
    echo-e"\e[33mssh基于密钥认证\e[0m"
    echo-e"\e[33m请输入远程用户名\e[0m"
    read-p''USERNAME"
    echo-e"\e[33m请输入远程主机号\e[0m"
    read-p''IPHOST"
    ssh-keygen -t rsa-f~/.ssh/id_rsa -N''&> /dev/null
    ssh-copy-id -i ~/.ssh/id_rsa.pub$USERNAME@$IPHOST&>/dev/null
    ssh$USERNAME@$IPHOST

    相关文章

      网友评论

          本文标题:胡说openssh

          本文链接:https://www.haomeiwen.com/subject/ijlagttx.html