• Linux免密登录——A登录B密钥设置(SSH SCP)


    密钥登录

    密钥登录比帐号密码方式更安全、更方便,并提供了更多的自动化和批处理选项。

    • 安全性:使用非对称加密算法,公钥存在服务器,私钥存在本地计算机,私钥不在网络传输,降低被黑客截获风险。
    • 强密码避免使用弱密码或多个服务器用相同密码的风险。密钥长度通常比密码更长,因此更难以被破解
    • 方便性:设置了密钥登录,无需每次都输入密码,在频繁登录多个服务器时特别方便。
    • 自动化:密钥登录适用于自动化脚本和批处理作业,执行远程命令或复制文件,无需人工干预。

    加密方法

    在Linux中,默认的密钥锁码方法是RSA,它使用RSA算法生成公钥和私钥,并使用私钥进行加密和解密。

    • 对称加密 相同密钥加密和解密。如DES、3DES、AES等,特点是加密和解密速度快
    • 非对称加密 不同密钥加密和解密。如RSA、DSA、ECC等,特点是安全性高,但速度相对较慢。

    密钥工具 ssh-keygen

    1. # 生成2048位RSA密钥(默认)
    2. ssh-keygen
    3. # 生成4096位RSA密钥
    4. ssh-keygen -t rsa -b 4096
    5. # 生成512位ECDSA密钥
    6. ssh-keygen -t ecdsa -b 512

    示例:主机A登录B

    LinuxA: 192.168.0.31
    LinuxB: 192.168.0.32

    1. # 在LinuxA下生成密钥对,密钥文件在~/.ssh目录
    2. ssh-keygen
    3. # 复制公钥到B主机,输入B主机密码,格式:ssh-copy-id user@ip -p port
    4. ssh-copy-id 192.168.0.32 # 默认22端口
    5. # 免密登入B主机
    6. ssh 192.168.0.32
    7. # 免密复制文件(A到B,也可B到A)
    8. scp -P 22 /homea/abc.zip root@192.168.0.32:/homeb/

    免密设置成功,无需输入密码,写自动化脚本完成应用部署等。

    附:ssh-keygen 命令选项

    命令参数
    -b:指定密钥长度
    -e:读取openssh的私钥或者公钥文件
    -C:添加注释
    -f:保存密钥的文件名(默认存到~/.ssh/下,生成id_rsa和id_rsa.pub两个文件)
    -i:读取未加密的ssh-v2兼容的私钥/公钥文件
    -l:显示公钥文件的指纹数据
    -N:提供新密码,空表示不需要密码
    -P:提供旧密码,空表示不需要密码
    -q:静默模式
    -t:指定要创建的密钥类型
    -y: 读取私钥输出公钥

    附:scp 命令选项

    scp(secure copy), 是linux系统下基于ssh的远程加密文件拷贝命令。

    命令格式
    scp [参数] [原路径] [目标路径]

    命令参数
    -1:使用协议ssh1
    -2:使用协议ssh2
    -4:使用IPv4寻址
    -6:使用IPv6寻址
    -B:使用批处理模式
    -C:允许压缩
    -p:保留原文件的修改时间,访问时间和访问权限
    -q:不显示传输进度条
    -r:递归复制整个目录
    -v:输出详细信息。
    -c cipher:以cipher将数据传输进行加密
    -F ssh_config:替代的ssh配置文件
    -i identity_file:从指定文件中读取传输时使用的密钥文件
    -l limit:限定用户所能使用的带宽,以Kbit/s为单位
    -P port:指定端口号

    Linux免密登录——A登录B密钥设置(SSH SCP)SSH密钥登录比帐号密码方式更安全、更方便,并提供了更多的自动化和批处理选项。icon-default.png?t=N7T8https://blog.oxings.com/article/100

  • 相关阅读:
    Zookeeper入门
    Java架构师详细设计
    为什么删除Windows 11上的Bloatware可以帮助加快你的电脑速度
    如何利用考培系统进行个性化学习和评估
    EasyUI onSelectPage不翻页
    [spark]action算子
    MFC Windows 程序设计[229]之驱动盘浏览(附源码)
    实验七:定时/计数器8253、8254
    python+vue精品课程在线学习系统
    ‘iv‘ specifies undefined struct/union ‘evp_cipher_ctx_st‘
  • 原文地址:https://blog.csdn.net/weixin_41935046/article/details/134545429