zoukankan      html  css  js  c++  java
  • 74.ssh服务介绍(基于密码连接)

    1.SSH服务知识介绍:

    01:SSH服务主要有两个软件构成:openssh和openssl;
    02:openssh用于远程连接,openssl用于加密;
    03:SSH连接是先进行加密,后进行连接;
    04:SSH服务包含客户端命令ssh和scp远程拷贝命令;
    05:SSH协议有SSH1和SSH2两个版本,SSH1有漏洞,目前都是SSH2协议;
    06:当ssh客户端与ssh服务端连接时所使用的协议需一致;
    

    2.SSH服务连接过程及原理(基于口令)

    ## SSH服务端【系统:CentOS 7.5  主机名:web02  内网IP地址:172.16.1.23   SSH端口:921 】
    01:SSH服务端配置文件/etc/ssh/sshd_config文件中某些参数说明
    
    HostKey /etc/ssh/ssh_host_rsa_key          #SSH服务中SSH1协议使用RSA加密技术生成的密钥
    #HostKey /etc/ssh/ssh_host_dsa_key         #SSH服务中SSH1版本没有DSA加密技术,所以默认是注释了的
     
    HostKey /etc/ssh/ssh_host_ecdsa_key        #SSH服务中SSH2协议使用RSA加密技术生成的密钥
    HostKey /etc/ssh/ssh_host_ed25519_key      #SSH服务中SSH2协议使用DSA加密技术生成的密钥
    02:目前SSH协议版本都是SSH2,且在连接时都是使用rsa加密技术来进行加密后再进行连接
    03:SSH服务启动时会生成SSH1和SSH2协议产生的公钥和私钥钥,我们来看一看;
    
    [root@web02 ~]# ll /etc/ssh/ssh_host_rsa_key*     #  这是SSH服务中SSH1协议使用RSA加密技术生成的公钥和私钥
    -rw-r-----. 1 root ssh_keys 1675 Jul 26 15:23 /etc/ssh/ssh_host_rsa_key
    -rw-r--r--. 1 root root      382 Jul 26 15:23 /etc/ssh/ssh_host_rsa_key.pub
     
    [root@web02 ~]# ll /etc/ssh/ssh_host_ecdsa_key*   # 这是SSH服务中SSH2协议使用RSA加密技术生成的公钥和私钥
    -rw-r-----. 1 root ssh_keys 227 Jul 26 15:23 /etc/ssh/ssh_host_ecdsa_key
    -rw-r--r--. 1 root root     162 Jul 26 15:23 /etc/ssh/ssh_host_ecdsa_key.pub
     04:我们来看一看SSH服务启动时用ssh2协议使用RSA加密技术生成的公钥
    
    [root@lala ~]# cat /etc/ssh/ssh_host_ecdsa_key.pub 
    ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPOfkYeytiLVUbg3c0xM//fXzCnLSTqS7Hdtei+lzTfPf6aSCAsRHlvdnNCk05oy8WHppjtdyc2c9AJuD9AOqv8= 
    

    3.具体操作步骤:

    01:客户端向服务端主动发起请求,并提示你是否连接,这里还没有输入yes
    [root@lala ~]# ssh -p22 root@10.20.70.222
    The authenticity of host '10.20.70.222 (10.20.70.222)' can't be established.
    ECDSA key fingerprint is SHA256:qP2qjxurisNBzTxoKeI9fnFTF/OxNlwEtBBxAB4atb0.
    ECDSA key fingerprint is MD5:49:37:02:83:f8:0b:42:b9:c6:09:cb:2e:25:a1:31:c2.
    Are you sure you want to continue connecting (yes/no)? 
    
    02:查看.ssh/known_hosts 看有没有对应服务端的公钥,没有
    [root@lala ~]# cat .ssh/known_hosts 
    
    03:客户端同意连接,输入yes,且提示你输入密码,这里还没有输入密码哈
    [root@lala ~]# ssh -p22 root@10.20.70.222
    The authenticity of host '10.20.70.222 (10.20.70.222)' can't be established.
    ECDSA key fingerprint is SHA256:qP2qjxurisNBzTxoKeI9fnFTF/OxNlwEtBBxAB4atb0.
    ECDSA key fingerprint is MD5:49:37:02:83:f8:0b:42:b9:c6:09:cb:2e:25:a1:31:c2.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '10.20.70.222' (ECDSA) to the list of known hosts.
    root@10.20.70.222's password: 
    
    04:查看.ssh/known_hosts 看有没有对应服务端的公钥,有。当你输入了yes之后就保证了服务端的公钥已经保存到了你的known_hosts文件中
    [root@lala ~]# cat .ssh/known_hosts 
    10.20.70.222 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPOfkYeytiLVUbg3c0xM//fXzCnLSTqS7Hdtei+lzTfPf6aSCAsRHlvdnNCk05oy8WHppjtdyc2c9AJuD9AOqv8=
    
    05:这个时候你在发送链接请求,会发现前面的yes部分没有了
    [root@lala ~]# ssh -p22 root@10.20.70.222
    root@10.20.70.222's password: 
    
    06:这个时候你将服务端密码输入就连接上了我的客户端ip是10.20.70.223,输入查看ip命令发现已经变了
    [root@lala ~]# ssh -p22 root@10.20.70.222
    root@10.20.70.222's password: 
    Last login: Mon Jul 20 09:32:46 2020 from 10.20.70.1
    [root@lala ~]# 
    [root@lala ~]# 
    [root@lala ~]# hostname -I
    10.20.70.222 
    

    参考:

    https://www.cnblogs.com/chenliangc/articles/11725677.html

  • 相关阅读:
    URLs
    上班确实累!!!
    转: java 双向map
    HttpReader
    QQ龙虎榜数据接口
    简易行情界面
    下载新浪的行情数据
    淘宝上的大智慧L2数据,月卡最便宜是8元钱,这个也可以获取BBD、DDX等数据!
    获取历史K线数据的几个方法
    好久不写博了.
  • 原文地址:https://www.cnblogs.com/liuzhanghao/p/13343482.html
Copyright © 2011-2022 走看看