SSH免密登陆

作者: 钱学敏 | 来源:发表于2018-03-16 14:27 被阅读0次

    一、SSH简介

    SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等。

    1、RSA:一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的安全性基于大数分解极其困难(将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥);

    2、DSA:也是非对称加密算法,其安全性与RSA相比差不多,是基于整数有限域离散对数难题的;

    二、SSH免密登陆原理

    SSH免密登陆原理

    三、SSH免密登陆

    1、生成秘钥

    在mac根目录(/Users/qianxuemin)下执行命令,提示输入的话直接回车,不输入任何内容

    ssh-keygen -t rsa -C "test_user" -f "test_key"
    //生成密钥 使用rsa加密算法 用户名字  密钥对文件名
    

    回车后会生成两个文件

    test_key     //私钥 
    test_key.pub //公钥 
    

    把生成的两个文件放到隐藏目录(/Users/qianxuemin/.ssh)下

    ll -a   // 以长文件名显示文件列表
    cd .ssh/
    ll
    mv test_key* .ssh/    //把生成的两个文件放到 .ssh文件夹
    // 若无权限,修改.ssh权限 chmod -R 700 .ssh 私钥权限为当前用户可读可写,不给其他权限
    

    2、传输公钥

    把公钥复制到需要远程登录的一台服务器

    scp ./test_key.pub root@192.168.0.2:/root/.ssh
    

    3、追加公钥

    登录远程服务器,在远程服务器的.ssh目录下执行追加公钥

    ssh root@192.168.0.2 //远程登录 输密码
    cat test_key.pub >> authorized_keys  // 在.ssh目录下执行
    exit  //退出远程
    

    4、开始免密登录

    ssh -i ~/.ssh/test_key root@192.168.0.2
    

    5、修改config

    如果不想用文件路径登陆
    在本机的.ssh目录下新建config文件 并修改配置文件config

      User root //以什么用户登录
      Host qxmcentos //要登录的服务器别名
      HostName 192.168.0.2 //要登录的服务器ip或域名
      Port 22        //要登录的服务器的端口 默认22
      StrictHostKeyChecking no //热键检查
      IdentityFile ~/.ssh/test_key //私钥完整路径
      IdentitiesOnly yes    //只允许秘钥登录
      Protocol 2   //SSH版本
      Compression yes
      ServerAliveInterval 60
      ServerAliveCountMax 20
      LogLevel INFO
    

    6、免密登陆

    用远程服务器别名免密登陆

    ssh qxmcentos // qxmcentos为远程服务器别名 
    

    7、注意事项

    .ssh目录的权限必须是700
    .ssh/authorized_keys文件权限必须是600
    权限列表

    -rw-------   (600) 只有所有者才有读和写的权限 
    -rw-r--r--   (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限 
    -rwx------   (700) 只有所有者才有读,写,执行的权限 
    -rwxr-xr-x   (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限 
    -rwx--x--x   (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限 
    -rw-rw-rw-   (666) 每个人都有读写的权限 
    -rwxrwxrwx   (777) 每个人都有读写和执行的权限
    
    普通文件的文件权限第一个字符为“-”
    目录文件的文件权限第一个字符为“d”
    字符设备文件的文件权限第一个字符为“c”;
    块设备文件的文件权限第一个字符为“b”
    符号链接文件的文件权限第一个字符为“s”
    

    相关文章

      网友评论

        本文标题:SSH免密登陆

        本文链接:https://www.haomeiwen.com/subject/tbilqftx.html