zoukankan      html  css  js  c++  java
  • SSH无密码登录:只需两个简单步骤 (Linux)

    转载自https://www.linuxdashen.com/ssh-key%ef%bc%9a%e4%b8%a4%e4%b8%aa%e7%ae%80%e5%8d%95%e6%ad%a5%e9%aa%a4%e5%ae%9e%e7%8e%b0ssh%e6%97%a0%e5%af%86%e7%a0%81%e7%99%bb%e5%bd%95#comment-2582

    如果你管理一台Linux服务器,那么你就会知道每次SSH登录时或者使用scp复制文件时都要输入密码是一个多么繁琐的过程.这篇教程介绍使用SSH Key来实现SSH无密码登录,而且使用scp复制文件时也不需要再输入密码.除了方便SSH登录,scp复制文件外,SSH无密码登录也为Linux服务器增加了又一道安全防线

    SSH无密码登录的设置步骤

    1. 首先我们在自己的Linux系统上生成一对SSH Key:SSH密钥和SSH公钥.密钥保存在自己的Linux系统上。
    2. 然后公钥上传到Linux服务器.之后我们就能无密码SSH登录了.SSH密钥就好比是你的身份证明.

    1在自己的Linux系统上生成SSH密钥和公钥

    打开终端,使用下面的ssh-keygen来生成RSA密钥和公钥.-t表示type,就是说要生成RSA加密的钥匙.

    ssh-keygen -t rsa

    RSA也是默认的加密类型.所以你也可以只输入ssh-keygen.默认的RSA长度是2048位.如果你非常注重安全,那么可以指定4096位的长度.

    ssh-keygen -b 4096 -t rsa

    生成SSH Key的过程中会要求你指定一个文件来保存密钥,按Enter键使用默认的文件就行了.然后需要输入一个密码来加密你的SSH Key.密码至少要20位长度.SSH密钥会保存在home目录下的.ssh/id_rsa文件中.SSH公钥保存在.ssh/id_rsa.pub文件中.

    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/matrix/.ssh/id_rsa):  按Enter键
    Enter passphrase (empty for no passphrase):   输入一个密码
    Enter same passphrase again:   再次输入密码
    Your identification has been saved in /home/matrix/.ssh/id_rsa.
    Your public key has been saved in /home/matrix/.ssh/id_rsa.pub.
    The key fingerprint is:
    e1:dc:ab:ae:b6:19:b0:19:74:d5:fe:57:3f:32:b4:d0 matrix@vivid
    The key's randomart image is:
    +---[RSA 4096]----+
    | .. |
    | . . |
    | . . .. . |
    | . . o o.. E .|
    | o S ..o ...|
    | = ..+...|
    | o . . .o .|
    | .o . |
    | .++o |
    +-----------------+

    查看.ssh/id_rsa文件就会看到,这个文件是经过加密的(encrypted).也就是用你输入的密码来加密.

    less .ssh/id_rsa

    SSH无密码登录

    2将SSH公钥上传到Linux服务器

    可以使用ssh-copy-id命令来完成.

    ssh-copy-id username@remote-server

    SSH无密码登录

    输入远程用户的密码后,SSH公钥就会自动上传了.SSH公钥保存在远程Linux服务器的.ssh/authorized_keys文件中.

    上传完成后,SSH登录就不需要再次输入密码了.但是首次使用SSH Key登录时需要输入一次SSH密钥的加密密码.(只需要输入一次,将来会自动登录,不再需要输入密钥的密码.)

    使用scp命令来传送文件时也不需要输入密码.

    SSH Key的知识

    Linux系统有一个钥匙环(keyring)的管理程序.钥匙环受到用户登录密码的保护.当你登录Linux系统时,会自动解开钥匙环的密码,从而可访问钥匙环.SSH的密钥和公钥也存储在钥匙环.所以初次使用SSH密钥登录远程Linux服务器时需要输入一次SSH密钥的密码.而将来使用SSH密钥登录时不再输入密码.Ubuntu的钥匙环程序是seahorse.

    SSH密钥就好比是你的身份证明.远程Linux服务器用你生成的SSH公钥来加密一条消息,而只有你的SSH密钥可以解开这条消息.所以其他人如果没有你的SSH密钥,是无法解开加密消息的,从而也就无法登录你的Linux服务器.

    SSH无密码登录的设置就是这么简单。

    为这篇文章评分
    [Total: 39 Average: 4.2]

  • 相关阅读:
    【足迹C++primer】32、定制操作_2
    pom文件miss artifact com.sun:tools:jar:1.5.0:system问题
    cents上运行wget报错:unable to resolve host address
    怎样定义函数模板
    06006_redis数据存储类型——String
    雷林鹏分享:C# 类型转换
    雷林鹏分享:C# 运算符
    雷林鹏分享:C# 循环
    雷林鹏分享:C# 判断
    雷林鹏分享:C# 方法
  • 原文地址:https://www.cnblogs.com/sogeisetsu/p/11397698.html
Copyright © 2011-2022 走看看