• Linux建立互信关系(ssh公钥登录)


    Linux有多种登录方式,比如telnet、ssh。支持ssh登录方式:口令登录和公钥登录

    ssh登录方式:ssh [-l login_name] [-p port] [user@]hostname

    口令登录:输入密码登录。

    公钥登录:将本端设备的公钥加入到对端的公钥文件authorized_keys,可以免密码登录。

    本文只阐述如何使用公钥免密码登录。

    公钥登录原理:

    所谓"公钥登录",原理很简单,就是用户将自己的公钥储存在远程主机上。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

    操作步骤:

    1、登录远端设备,修改ssh配置,对应文件路径/etc/ssh/sshd_config或者/etc/sshd/sshd_config,放开如下配置项:

    1 RSAAuthentication yes #启用rsa认证
    2 PubkeyAuthentication yes #启用公钥私钥配对认证方式
    3 AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径
    View Code

    确保权限,.ssh目录为700,authorized_keys权限为600,重启sshd服务:

    service sshd restart

    或者

    systemctl restart sshd

    2、本端生成公钥,运行如下命令:

    ssh-keygen -t rsa

    生成公钥文件id_rsa.pub和私钥文件id_rsa。

    3、将公钥添加到远端.ssh/authorized_keys中,那么本端就可以免密码登录远端设备。

    添加方法,诚所谓八仙过海,各显神通。

    常用方法,通过scp命令拷贝。

    scp local_file remote_file

    比如本端设备192.168.24.16,远端设备192.168.24.17,用文件替换方式:

    本端设备执行:
    scp /root/.ssh/id_rsa root@192.168.24.17:/root/.ssh/authorized_keys
    
    远端设备执行:
    scp root@192.168.24.16:/root/.ssh/authorized_keys /root/.ssh/id_rsa
    View Code

    或者使用ssh-copy-id命令

    ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.24.17 

    关于ssh/sftp/ftp/ftps协议,后续记录。

  • 相关阅读:
    Quartz Cron表达式详解
    面向对象设计的SOLID原则
    JDK动态代理Demo代码,简单易懂
    <x:forEach/>遍历RSS新闻
    <x:parse/>获取RSS新闻
    fn:length()方法
    使用一个map映射出两个对象,再把两者关系对应起来
    用户注册_发邮件,激活
    ajax 的json联动
    封装ajax小工具:
  • 原文地址:https://www.cnblogs.com/HopkinsCybn/p/10105901.html
Copyright © 2020-2023  润新知