zoukankan      html  css  js  c++  java
  • SSH免密登录

    1.ssh

    ssh认证方式主要有2种:
     01.基于口令的安全认证:
     02.基于密钥的安全认证
    加密-认证(authentication)和授权(authorization
     SSH 的软件架构是服务器-客户端模式(Server - Client)
      向服务器发出请求的部分,称为客户端(client),OpenSSH 的实现为 ssh;
        OpenSSH 的客户端是二进制程序 ssh。它在 Linux/Unix 系统的位置是/usr/local/bin/ssh,
    	C:WindowsSystem32OpenSSHssh.exe
    	Windows 系统的位置是C:Program FilesOpenSSHinssh.exe
      接收客户端发出的请求的部分,称为服务器(server),OpenSSH 的实现为 sshd
    

    2.基于密钥的安全认证

    1.检查windows中是否
      安装ssh 以及 ssh-keygen 以及scp  
       C:Users >ssh -V
            OpenSSH_for_Windows_8.1p1, LibreSSL 3.0.2
      
    2.window下免密的设置
        001.windows 下操作   
    	  win + r
    	  cmd
    	  # 生成密钥
    	  ssh-keygen -t rsa   (选择默认)
    	  # 将文件拷贝至远程服务器
    	  scp  id_rsa.pub  用户名@ip地址:~/.ssh/windows_id_rsa.pub
    	  
    	002.Linux上的操作
    	cd  ~/.ssh
    	# 将内容追加到authorized_keys文件中
    	cat windows_id_rsa.pub   >> authorized_keys
    	注意:
    	 1) .ssh目录的权限必须是700 
       2) .ssh/authorized_keys文件权限必须是600
    
    3.验证
       windows下验证
       ssh 用户名@ip地址
    
     其他:
     也可以本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/authorized_keys文件
    

    3.ssh-keygen 命名

    ssh-keygen命令用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥.
    在 Linux/macOS 系统中,ssh-keygen 随 SSH 软件包提供 
      ssh-keygen:需要依靠密匙,
       必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上
       -t即指定密钥的类型,密钥的类型有两种,一种是RSA,一种是DSA
        ssh-keygen默认使用rsa密钥,所以不加-t rsa也行,如果你想生成dsa密钥,就需要加参数-t dsa
       
       -b 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。
        命令中的4096指的是RSA密钥长度为4096位。
        DSA密钥必须恰好是1024位
        -C 设置注释文字,比如邮箱。
       -f 指定密钥文件存储文件名。
       -o
           -o      Causes ssh-keygen to save private keys
    	   using the new OpenSSH format rather than the more compatible PEM format.  
    	    The new format has increased resistance to brute-force password cracking
    		 but is not supported by versions of OpenSSH prior to 6.5. 
    		 Ed25519 keys always use the new private key format.
    

    4.git中使用

     Git 服务器都使用 SSH 公钥进行认证
      01.生成 id_rsa.pub 文件,将id_rsa.pub添加到页面的配置上
      02.SSH key 进入页面添加 SSH key。最右上角头像--setting--SSH Keys
      03.点击 Add SSH key 按钮添加一个 SSH key 。
      把你复制的 SSH key 代码粘贴到 key 所对应的输入框中,记得 SSH key 代码的前后不要留有空格或者回车
    

    5.相关配置文件和服务

    OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现  
     openssh 的客户端:ssh    openssh的服务端:sshd
      sudo vim  /etc/ssh/sshd_config
                 /etc/ssh/sshd_config
     用户个人的配置文件在~/.ssh/config  优先级高于全局配置那文件
      systemctl daemon-reload
      systemctl restart sshd
      systemctl status sshd
    

    其他加密

      gen-ken参数生成自己的密钥。  RSA   DSA 
      gpg --gen-key
      C:WindowsSystem32driversetc
  • 相关阅读:
    [Cordova] 无法编译Visual Studio项目里Plugin副本的Native Code
    [Cordova] 无法显示Alert视窗
    [ASP.NET MVC] 使用CLK.AspNet.Identity提供依权限显示选单项目的功能
    [Tool] SourceTree初始化GitFlow遇到错误(git command not found)的解决方案
    [.NET] 使用Json.NET提供依赖注入功能(Dependence Injection)
    [AngularJS] 使用AngularCSS动态加载CSS
    [AngularJS] 使用AngularAMD动态加载Service
    [AngularJS] 使用AngularAMD动态加载Controller
    [Tool] Chrome内的本地网页,使用XMLHttpRequest读取本地档案
    [Android] WebView内的本地网页,使用XMLHttpRequest读取本地档案
  • 原文地址:https://www.cnblogs.com/ytwang/p/14922716.html
Copyright © 2011-2022 走看看