zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    case 条件语句
    shell 函数
    if条件语句
    IP地址分类和分段
    shell脚本的条件测试与比较
    bc命令
    [LeetCode]Remove Duplicates from Sorted Array II
    [LeetCode]Merge Two Sorted Lists
    [LeetCode]Climbing Stairs
    [LeetCode]Merge Intervals
  • 原文地址:https://www.cnblogs.com/liubin0509/p/6211909.html
Copyright © 2011-2022 走看看