zoukankan      html  css  js  c++  java
  • ssh远程双向无密码登陆

    #ssh远程双向无密码登陆
    需求:在192.168.10.100执行ssh 192.168.20.205不需要输入密码直接跳转到205机器
    #在192.168.10.100执行命令,我这里使用root用户

    > ssh-keygen -t rsa -P ''       #直接回车回车,不输入任何内容(在192.168.10.100生成公钥和私钥放在/root/.ssh  目录下)
    > ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.20.205    #把192.168.10.100的公钥复制到192.168.20.205,并追加到192.168.20.205服务器密钥信任列表(需要输入对应用户密码)

    > ssh 192.168.20.205   #测试是不是可以不输入密码调到192.168.20.205服务器

    #想在192.168.20.205免密码登陆192.168.10.100只需要把上述三个命令在192.168.20.205执行一次即可.

    详细原理如下: 
    #配置10.100
    1.在客户端生成公钥和私钥
    ssh-keygen -t rsa -P ''#直接回车,不输入任何内容
    cd /root/.ssh#生成的公钥和私钥位置
    2.把生成的公钥追加到自己的信任列表,自己可以ssh localhost不需要输入密码
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    3.修改ssh配置文件让其支持远程rsa验证登陆
    vim /etc/ssh/sshd_config
    放开注释:
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile      .ssh/authorized_keys
    4.重启sshd服务
    service sshd restart
    5.本机测试是否支持无密码连接
    ssh localhost#第一次输入yes
    ssh localhost#第二次直接登陆
    6.把自己的公钥给服务器
    scp ~/.ssh/id_rsa.pub root@192.168.20.205:~/
     
    7.登陆服务器192.168.20.205,把公钥追加到自己信任列表
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    8.服务器端重启sshd
    service sshd restart
    9.这时10.100(提供公钥方)可以无密码登陆20.205(信任列表有10.100公钥).
    ###单向无密码认证完成###
     
    #在205服务器按照上述步骤做一次即可.
    0.一样的步骤
    生成公钥私钥--->公钥追加到自己的信任列表--->修改配置文件(放开注释)--->重启sshd--->本机测试
    1.复制服务端公钥
    scp ~/.ssh/id_rsa.pub root@192.168.10.100:~/ 
    2.进入客户端,把服务器公钥追加到客户端信任列表
    cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
    3.服务端直接登陆客户端
    ssh 192.168.10.100
     
    ###修改ssh端口###
    vim /etc/ssh/sshd_config
    查找port,放开注释,可以添加一行(支持多端口),也可以直接改掉22端口.
     
     
    如果遇到此问题:
     
    cd /root/.ssh/
    vim known_hosts     #删掉该主机对应的信任信息,因为之前配置过一次,但这一次重新生成了公私钥,而这边还是旧了,认证不了就报错.
     
    博采众长才能相互印证,故步自封必将粗陋浅薄!
  • 相关阅读:
    mysql 5.7开启sql日志的配置
    Apache显示目录列表及icons目录的问题
    WebGL学习笔记二——绘制基本图元
    java上传文件类型检测
    binlog
    vs2015下C4819该文件包含不能在当前代码页(936)中表示的字符问题解决
    WebGL学习笔记一
    vs2015 debug时出现 C2039“cout”: 不是“std”的成员
    spring boot实现切割分片上传
    springboot自定义类@Resource注入为null的问题
  • 原文地址:https://www.cnblogs.com/tangwan/p/5388668.html
Copyright © 2011-2022 走看看