• Ubuntu使用ssh公钥实现免密码登录


    ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以Ubuntu为例。

    有机器A(10.0.2.1),B(10.0.2.100)。现想A通过ssh免密码登录到B。
    首先以kube账户登陆为例。

    1.在A机下生成公钥/私钥对

    ssh-keygen -t rsa -P ''

    -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
    该命令将在~/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub。

    如果在生成过程中指定了文件路径和文件名,例如~/.ssh/k8s_rsa, 则生成~/.ssh/k8s_rsa和~/.ssh/k8s_rsa.pub两个文件

    2.public key复制到B机
    把A机下的~/.ssh/k8s_rsa.pub 复制到B机的 ~/.ssh/authorized_keys文件里,先要在B机上创建好 ~/.ssh 这个目录,用scp复制。

    scp ~/.ssh/k8s_rsa.pub kube@10.0.2.100:~/.ssh/authorized_keys

    由于还没有免密码登录的,所以要输入一次B机的root密码。

    3.authorized_keys的权限要是600!!!

    sudo chmod 600 ~/.ssh/authorized_keys

    4. 免密登陆到B机

    ssh -i ~/.ssh/k8s_rsa.pub kube@10.0.2.100

    5. 将private加入ssh-agent

    ssh-add k8s_rsa

    注意事项:

    如果产生密钥对名称为id_rsa和id_rsa.pub,则在登陆时不需要使用 -i 参数指定私钥。

    第一次登陆时会需要输入yes, 将远程主机加入 known hosts

  • 相关阅读:
    Redis(三)、Redis主从复制
    Redis(二)、Redis持久化RDB和AOF
    Redis(一)、Redis五种数据结构
    docker(部署常见应用):docker部署redis
    docker(三):Harbor 1.8.0 仓库的安装和使用
    Redis List 命令技巧
    数据库——MySQL——事务
    数据库——MySQL
    数据库——MySQL——权限管理
    数据库——MySQL——多表查询
  • 原文地址:https://www.cnblogs.com/liubin0509/p/6211909.html
Copyright © 2020-2023  润新知