zoukankan      html  css  js  c++  java
  • ssh的使用

    ssh的使用

    1.0  ssh基本使用与原理

    使用:ssh -p 端口 username@xxx.xxx.xxx.xxx

    Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议,可有效弥补网络中的漏洞。通过SSH,可以把所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。目前已经成为Linux系统的标准配置。

    2.0  中间人攻击

    SSH之所以能够保证安全,原因在于它采用了公钥加密。
    整个过程是这样的:
    (1)远程主机收到用户的登录请求,把自己的公钥发给用户。
    (2)用户使用这个公钥,将登录密码加密后,发送回来。
    (3)远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。
    这个过程本身是安全的,但是实施的时候存在一个风险:如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
    可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。这种风险就是著名的”中间人攻击”(Man-in-the-middle attack)。

    3.0  ssh登录

    1.1  ssh口令(密码)登录

    ssh xxx.xxx.xxx.xxx(如果用户不是root,在ip地址前加用户名@)

    首次登录到目标主机,或者目标主机rsa变化时,会出现如图的提示:

    这段话的意思是,无法确认host主机的真实性,只知道它的公钥指纹,问你还想继续连接吗?

    确认之后输入密码进行登录认证。

    3.2  ssh公钥登录

    在本地机器上使用ssh-keygen产生公钥私钥

    从运行过程可知公钥保存的文件:/root/.ssh/id_rsa.pub

    生成公钥之后可以查看文件确定成功

    将公钥复制到目标机器:

    ssh-copy-id -i .ssh/id_rsa.pub  用户名字@192.168.x.xxx

    之后就可以直接无密码登录目标机器了。

  • 相关阅读:
    Docker 安装 MySQL
    Docker安装
    Thymeleaf语法总结
    SpringBoot总结之事务和AOP
    SpringBoot总结之Spring Data Jpa
    SpringBoot总结之属性配置
    Spring总结之SpringMvc下
    Spring总结之SpringMvc上
    Spring总结之事务
    在什么情况下使用@ResponseBody 注解?
  • 原文地址:https://www.cnblogs.com/52why/p/12363030.html
Copyright © 2011-2022 走看看