zoukankan      html  css  js  c++  java
  • Linux学习笔记总结--ssh认证登录

    原理简介


    SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key)。公钥用于对数据进行加密,而且只能用于加密。而私钥只能对使用所匹配的公钥,所加密过的数据进行解密。私钥需要用户单独妥善保管。SSH 客户端使用私钥向服务器证明自已的身份。而公钥是公开的,可以按需将其配置到目标服务器上自己的相应帐号中。

    在进行 SSH 登录认证时,进行私钥和公钥协商。如果匹配,则身份得以证明,认证成功,允许登录。否则,将会继续使用密码验证等其它方式进行登录校验。

    在 Linux 环境下,通常使用系统自带的 ssh-keygen 软件来创建和管理密钥对。请执行如下步骤创建密钥对:

    1. 以任意具有 ssh-keygen 执行权限的用户登录服务器。
    2. 使用如下指令,基于 rsa 算法创建密钥对:
      ssh-keygen -t rsa
      Generating public/private rsa key pair.
      Enter file inwhich to save the key (/root/.ssh/id_rsa):		        → 默认保存路径和文件名,可以按需修改。
      Enter passphrase (empty for no passphrase): 	                        → 如前面所述,不设置密码,回车确认即可。
      Enter same passphrase again: 						        → 不设置密码,回车确认即可。
      Your identification has been saved in /root/.ssh/id_rsa.		→ 创建的私钥文件。
      Your public key has been saved in /root/.ssh/id_rsa.pub.		→ 创建的公钥文件。
      The key fingerprint is:
      17:b8:0e:76:cb:57:21:3b:f2:bb:8b:a2:42:2b:54:be root@iZ233gr74jvZ
      The key's randomart image is:
      +--[ RSA 2048]----+
      |                 |
      |         .       |
      |        . o .    |
      |   .     . + .   |
      |  o   o S + .    |
      | ... . = = o     |
      |.. ..   + o      |
      |. oE  .  o .     |
      | . ... .. +o     |
      +-----------------+

      说明:

    • 如果 .ssh 目录不存在,程序会自动创建。

    • 生成的密钥对默认保存在当前用户家目录下的 .ssh 文件夹中,文件名默认为 id_rsa(私钥) 和 id_rsa.pub(公钥)。用户可以按需设置保存路径和文件名。

       3.ssh-copy-id  只能copy公钥

         ssh-copy-id -i .ssh/id_rsa.pub "-p 22 root@192.168.1.27"

         需要输入密码后,就能分发公钥了

      4.  验证:ssh root@192.168.1.27 /sbin/ifconfig eth0  查看ip

    Windows 环境自动登录

    Window 环境下,还是以常见的NetSarang Xshell为例,请执行如下配置进行自动登录:

    1. 单击 文件 > 属性,打开主机属性配置窗口。
    2. 点击 连接 > 用户身份验证,如下图所示,将 方法 设置为 Public Key;将 用户名 设置为已经设置了证书登录的相应用户名;将 用户密钥 设置为对应的私钥。最后,点击 确定。
    3. 这个时候,你已经有了一对密钥,需要开始设定服务器的配置,启用密钥认证登录,同时为了系统安全着想,关闭密码认证的方式

       vim /etc/ssh/sshd_config

      修改下面几处:

      PubkeyAuthentication  yes  #启用PublicKey认证。

      AuthorizedKeysFile       .ssh/authorized_keys  #PublicKey文件路径。

      PasswordAuthentication  no  #不适用密码认证登录。

    4. 上面配置完成后,需要重启sshd服务。
    5. 接着,在你需要的登录的用户家目录的.ssh目录下,编辑authorized_keys文件,将开始我们生成密钥对的公钥写到这个文件中。

      公钥查看方法:点击Xshell菜单的工具,选择用户密钥管理者,双击你刚刚生成的密钥打开属性,选择公钥,复制公钥的内容,稍后使用

    6. 注意:要添加多个用户,需要在这个文件后,换行,加入另一个公钥即可;
    7. 接着,修改该文件的权限,chmod 600 ,否则可能会遇到问题
    8. 至此,登录测试
  • 相关阅读:
    有高程点数据,想生成等高线数据后再生成TIN
    【转】ArcGIS Server安装
    CSS定义不规则图片排版
    ArcEngine实现打开shapfile、Raster、TIN文件
    VSS在签出工程时老提示"network not found"或者''Invalid handle"的解决办法
    SiteServer CMS 上传文件过滤,只能是图片格式。
    突然记起我也遇到过一个麻花姐
    六一快乐
    杭州,婺源
    <转>一斗米养个仇人
  • 原文地址:https://www.cnblogs.com/taiguyiba/p/6038890.html
Copyright © 2011-2022 走看看