zoukankan      html  css  js  c++  java
  • ssh keygen命令实现免密码通信(git库获取操作权限:开发人员添加到git库中,获取操作权限)

    先看两个机器实现免密码登陆通讯:

    假设 A 为客户机器,B为目标机;
    要达到的目的:
    A机器ssh登录B机器无需输入密码;
    加密方式选 rsa|dsa均可以,默认dsa

    做法:
    1、登录A机器
    2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

         我在本地windows环境开发,所以使用本地git客户端,执行:

         生成ssh-key:ssh-keygen -t rsa -C "willard_liu@XXX.com"

         重命名ssh-key:cp ~/.ssh/id_rsa.pub ~/.ssh/willard_liu@XXX.com
    3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys
    4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;

        注意,git库使用权限的获取也一样。

        开发人员获取git库使用权限:git库由管理员建立好后,开发人员想后去开发权限,也是在本地机器上生成密钥和私钥文件,有管理员添加到git库中, 在本地就可以通过remote登陆git库,进行git操作,如,fetch最新代码,git commit等。

        我在本地windows环境开发,所以使用本地git客户端,执行:

        生成ssh-key:ssh-keygen -t rsa -C "willard_liu@XXXX.com"

        重命名ssh-key:cp ~/.ssh/id_rsa.pub ~/.ssh/XXX@aXXX.com.pub

        然后,把这个key给管理员,添加到git库中就可以了

      

    ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.
    具体方法如下:
    ssh-keygen -t rsa
    然后全部回车,采用默认值.
    这样生成了一对密钥,存放在用户目录的~/.ssh下。
    将公钥考到对方机器的用户目录下,并拷到~/.ssh/authorized_keys中。

    要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。

    设置文件和目录权限:

    设置authorized_keys权限
    $ chmod 600 authorized_keys
    设置.ssh目录权限
    $ chmod 700 -R .ssh

    总结注意事项

    1、文件和目录的权限千万别设置成chmod 777.这个权限太大了,不安全,数字签名也不支持。我开始图省事就这么干了

    2、生成的rsa/dsa签名的公钥是给对方机器使用的。这个公钥内容还要拷贝到authorized_keys

    3、linux之间的访问直接 ssh 机器ip

    4、某个机器生成自己的RSA或者DSA的数字签名,将公钥给目标机器,然后目标机器接收后设定相关权限(公钥和authorized_keys权限),这个目标机就能被生成数字签名的机器无密码访问了

  • 相关阅读:
    Spring Boot 使用 Dom4j XStream 操作 Xml
    Spring Boot 使用 JAX-WS 调用 WebService 服务
    Spring Boot 使用 CXF 调用 WebService 服务
    Spring Boot 开发 WebService 服务
    Spring Boot 中使用 HttpClient 进行 POST GET PUT DELETE
    Spring Boot Ftp Client 客户端示例支持断点续传
    Spring Boot 发送邮件
    Spring Boot 定时任务 Quartz 使用教程
    Spring Boot 缓存应用 Memcached 入门教程
    ThreadLocal,Java中特殊的线程绑定机制
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205542.html
Copyright © 2011-2022 走看看