zoukankan      html  css  js  c++  java
  • SSH免密免用户名登录

    创建公钥私钥

    ssh-keygen -t rsa 
    

    无视它出来的任何提示,欢快的一路回车到底吧~

    方法一:把公钥复制到远程主机

    可以采用命令复制,也可以手动把公钥复制过去。

    把公钥id_rsa.pub复制到远程机器的 /home/username/.ssh目录并命名为authorized_keys。

    # 方法1, os x 可以通过 `brew install ssh-copy-id` 安装
    $ ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
    
    # 方法2 
    cat ~/.ssh/id_rsa.pub | ssh user@host "mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys" 
    
    ssh-copy-id -i ~/.ssh/id_rsa.pub lls1@master
    ssh-copy-id -i ~/.ssh/id_rsa.pub lls2@slave1
    ssh-copy-id -i ~/.ssh/id_rsa.pub lls3@slave2
    
    // 如果本机登陆用户的用户名 和 要配置免密远程登陆用户的用户名一致的话,可以使用下面的命令,复制到对应机器的用户目录下
    ssh-copy-id -i ~/.ssh/id_rsa.pub master
    ssh-copy-id -i ~/.ssh/id_rsa.pub slave1
    ssh-copy-id -i ~/.ssh/id_rsa.pub slave2
    

    多台远程主机就多次复制~ 如果你本机登陆用户和远程登陆用户一致的话,就可以直接 ssh hostname 直接登陆,下面就不用看了。

    方法二:解决本地登陆用户名与远程登陆用户名不一致

    同样是生成公钥和私钥

    # 使用以下命令 一路回车即可
    $ ssh-keygen -t rsa
    

    在.ssh/config进行修改配置远程登录主机的信息

    # 为.ssh目录下的config设置权限
    $ chmod 600 ~/.ssh/config
    

    修改本地登陆用户的 ~/.ssh/config 文件,如果没有的话就自个儿建一个吧,内容如下:

    Host work1
        HostName 121.0.0.3
        User root
        Port 22
    
    Host work2
        HostName 121.0.0.4
        User root
        Port 22
    
    # 将密钥copy到work1,需要输入work1的登陆密码(此登陆密码为config重配置的user(work1、2用户的登录密码)密码)
    # work2相同
    $ ssh-copy-id -i ~/.ssh/id_rsa.pub  work1
    
    # 成功后会有如下提示
    Now try logging into the machine, with:   "ssh 'work1'"
    and check to make sure that only the key(s) you wanted were added.
    
    #现在使用如下即可登陆work1(其他主机方法一样)
    $ ssh work1
    

    这样,本地和远程登陆用户名不一致也可以 ssh hostname 登陆了。

    © 2017-2020 版权属于 QXQZX &
  • 相关阅读:
    Excel长数字防止转换为科学计数法
    SVN迁移部署
    且行且珍惜
    功能的权衡——推荐功能做不做?
    渗透小白如何学编程
    Metasploit log命令技巧
    Metasploit 使用msfconsole帮助功能技巧
    Metasploit resource命令技巧
    Metasploit makerc命令技巧
    Metasploit irb命令使用技巧
  • 原文地址:https://www.cnblogs.com/iQXQZX/p/13938716.html
Copyright © 2011-2022 走看看