zoukankan      html  css  js  c++  java
  • ssh密钥登录(两种方法)

    方法一:

    使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。 
    ssh-keygen 创建公钥和密钥。 
    ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。
    ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。

    步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
    ligh@local-host$ ssh-keygen -t  rsa
    Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[秘钥文件名] 
    Enter passphrase (empty for no passphrase): [秘钥密码(直接输入回车即为不带密码的秘钥)]
    Enter same passphrase again: [重复输入秘钥密码]
    Your identification has been saved in /home/jsmith/.ssh/id_rsa.
    Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. 
    The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 
    ligh@local-host

    步骤2: 用 ssh-copy-id 把公钥复制到远程主机上
    ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.0.3
    ligh@remote-host‘s password:
    Now try logging into the machine, with ―ssh ?remote-host‘‖, and check in: 
    .ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
    [注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上.]

    步骤3: 直接登录远程主机
    ligh@local-host$ ssh remote-host 
    Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2 
    [注: SSH 不会询问密码.] 
    ligh@remote-host$ 
    [注: 你现在已经登录到了远程主机上]

    http://blog.163.com/lgh_2002/blog/static/44017526201011333227161/

    方法二

    一、概述

    1、就是为了让两个linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作

    2、模型分析

    假设 A 为客户机器,B 为目标机;

    要达到的目的:
    A机器ssh登录B机器无需输入密码;
    加密方式选 rsa|dsa均可以,默认dsa

    二、具体操作流程

    单向登陆的操作过程(能满足上边的目的):
    1、登录A机器 
    2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub
    3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_rsa.pub >> ~/.ssh/authorized_keys
    4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;(直接运行 #ssh 用户名@ip )

    http://blog.csdn.net/kongqz/article/details/6338690

    以下两点注意:

    1、配置私钥
    a、使用命令ssh-keygen -t rsa生成密钥,会生成一个私钥和一个公钥,在提示输入passphrase时如果不输入,直接回车,那么以后你登录服务器就不会验证密码,否则会要求你输入passphrase,默认会将私钥放在/(用户名)/.ssh/id_rsa公钥放在
    /用户名/.ssh/id_rsa.pub。
    b、将公钥拷贝到远程服务器上的/(用户名)/.ssh/authorized_keys文件
    (scp /用户名/.ssh/id_rsa.pub server:/用户名/.ssh/authorized_keys),注意,文件名一定要叫authorized_keys。
    c、客户端上保留私钥,公钥留不留都可以。也就是服务器上要有公钥,客户端上要有私钥。这样就可以实现无密码验证登录了。
    2、如果想要获得最大化的安全性,禁止口令登录,可以修改远程主机上/etc/ssh/sshd_conf中的
    PasswordAuthentication yes 改为
    PasswordAuthentication no
    也即只能使用密匙认证的openssh,禁止使用口令认证。

  • 相关阅读:
    PowerDesigner_15连接Oracle11g,反向工程导出模型图
    angular学习
    GoEasy消息推送
    Spring 工作原理
    JAVA解析HTML,获取待定元素属性
    设计模式之工厂方法模式
    设计模式之单例模式
    通过Java代码获取系统信息
    centos7下NAT模式下设置静态ip
    关于在Spring项目中使用thymeleaf报Exception parsing document错误
  • 原文地址:https://www.cnblogs.com/ywei221/p/3932127.html
Copyright © 2011-2022 走看看