欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux 实现ssh免密登录--设置后不生效的处理办法

程序员文章站 2022-05-31 11:14:14
...
  1. 登录Linux进入/home/app/.ssh/目录下
  2. 执行ssh-****** -t rsa 创建**,一直回车即可,红框是输入密码,因为是免密所以直接回车略过;执行完之后会在/root/.ssh/下生成两个文件id_rsa、id_rsa.pub分别为私钥和公钥。如果对**长度有限制的话可以执行
    ssh-****** -t rsa -b 4096
  3. 把生成的公钥文件id_rsa.pub下载、上传到目标服务器上,也可以直接通过命令
    ssh-copy-id -i /home/app/.ssh/id_rsa.pub [email protected]  #命令默认端口是22
    # 在192.168.131.13 机器上.ssh 目录下,会出现authorized_keys

    登录目标服务器,相同的目录/root/.ssh/下查看有没有authorized_keys文件,没有的话需要创建一个,命令是  touch authorized_keys ,创建后授权600 ,把公钥文件id_rsa.pub追加到authorized_keys文件中,命令是 
     cat 192.168.131.7.pub >> authorized_keys
    这样就可以使用命令登录131.13服务器了
    ssh [email protected]  # 是不是不需要设置密码呢

     

  4. 有些同学发现自己的和网上说的咋不一样,怎么还是让输入密码???
    下面说一下哈
     

    #1.查看 .ssh 的目录权限是不是700 
    #2.authorized_keys权限是不是600
    #3.查看下远程机器app用户的目录权限是不是755

    再试一下,OK了吧!!!

  5. 其他事情1
     

    
    vi /etc/ssh/sshd_config  
     
    PasswordAuthentication no //禁止使用基于口令认证的方式登陆
     
    PubkeyAuthentication yes //允许使用基于**认证的方式登陆
     
    /etc/init.d/sshd reload

     

  6. 其他事情2
     

    普通用户切换到root权限且无需输入密码,在root模式下进行以下操作
    
    visudo  //最后一行加入
    Cmnd_Alias SU = /bin/su
    oper ALL = (root)  NOPASSWD: SU