最后更新

2017年4月8日

分类 最新文章 服务器安全 标签 RSA SSH Key 非对称加密

如果你管理一台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

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

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

ssh-copy-id username@remote-server

输入远程用户的密码后,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无密码登录的设置就是这么简单。

转载于:https://www.cnblogs.com/agang-php/p/7773868.html

SSH无密码登录:只需两个简单步骤 (Linux)相关推荐

  1. windows sybase bit显示勾_micro:bit怎么玩?只需5个简单步骤,光速上手

    以下micro:bit教程演示均为Windows操作系统 第一步:将micro:bit连接到电脑 使用micro USB数据线将micro:bit与电脑连接.你的micro:bit会在"我的 ...

  2. 家用计算机历史记录,如何查看计算机使用历史记录,只需几个简单步骤即可查看...

    很多时候我们的计算机将被借给同事或朋友使用,而其他人将使用我们的计算机来保存操作记录,那么如何查看计算机的使用记录?今天,编辑器告诉您以一种简单的步骤查看计算机使用记录的方法. 有需要的朋友下次可以学 ...

  3. ssh无密码登录_3个简单步骤即可完成无密码SSH登录

    ssh无密码登录 SSH (Secure SHELL) is a secure opensource network protocol that allows users to log in secu ...

  4. 解决ssh无密码登录不成功的问题

    把ssh设置为无密码登录很简单,只需两步: 1.在本地创建公钥和私钥: ssh-keygen -t rsa 2.然后把公钥上传到远程机器上: ssh-copy-id -i ~/.ssh/id_rsa. ...

  5. 老戚的黑科技之ssh无密码登录

    在使用ssh这个工具的时候,很多时候都需要输入密码,除了ssh,scp也远程拷贝文件时也需要输入密码,当操作的次数多了,免掉输密码的环节也就成了我一直想要实现的目标,以前实现过过一次,但那次之成功了一 ...

  6. linux服务器无密码登录不了,设置ssh无密码登录linux服务器的方法

    每次登录测试服务器,ssh登录总是需要输入密码.登录的少还行,登录的多了,多一行命令都是多余的. rsa认证登录方式 制作密钥对 在客户端(本地机器)终端下输入以下命令 ssh-keygen -t [ ...

  7. CentOS配置ssh无密码登录

    前提配置:使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下: 然后重启ssh服务:service sshd restart.最后退出root,以下所有 ...

  8. CentOS配置ssh无密码登录的注意点

    前提配置:使用root登录修改配置文件:/etc/ssh/sshd_config,将其中三行的注释去掉,如下: 然后重启ssh服务:service sshd restart.最后退出root,以下所有 ...

  9. 使用ssh无密码登录

    使用ssh无密码登录 ssh 是一个专为远程登录会话和其他网络服务提供安全性的协议.默认状态下ssh链接是需要密码认证的,可以通过添加系统认证(即公钥-私钥)的修改,修改后系统间切换可以避免密码输入和 ...

最新文章

  1. 源码级深挖AQS队列同步器
  2. db2设置默认schema_DB2中设置当前会话的Schema
  3. CentOS6安装devtoolset(使用高版本gcc)GCC 4.8 GCC 4.9 GCC 5.2
  4. python怎么用pip_python怎么使用pip工具
  5. 安卓界面之Viewpager和Tablayout实现滑动界面
  6. php 获取汉字,php 获取汉字长度
  7. npm打包前端项目太慢问题分析以及暂时解决方案
  8. 计算机应用基础精品课程申报表,《计算机应用基础》精品课程申报书(修改意见)...
  9. java ssh 那一层应该捕获异常_ssh经典异常!
  10. java Servlet技术·笔记
  11. 一次多线程臭虫经验——异步日志c++化时
  12. 自己动手编程实现“电子地图下载器
  13. LeetCode 707. Design Linked List
  14. 在excel中如何筛选重复数据_Excel快速筛选数据方法集锦
  15. Kubernetes证书类型和适用场景
  16. 文献阅读(03)Computing Graph Neural Networks: A Survey from Algorithms to Accelerators
  17. 源码解读五:流量整型算法实现分析
  18. 【麒麟操作系统软件商店老是闪退?--麒麟系统软件商店卸载与重装(小白教程)】
  19. 生成自签名证书步骤(一)
  20. 【笑小枫的SpringBoot系列】【四】SpringBoot返回统一结果包装

热门文章

  1. no acceptable C compiler found in $PATH
  2. Xmind settings lower
  3. 删除两个字符串中的特定字符使其相等,统计删除的字符的ASCII和
  4. 软件工程第一次作业补充
  5. SVG 基础知识 回顾
  6. ASP.NET文件下载
  7. 学习笔记:ORACLE 性能优化求生指南
  8. IP层:尽力交付,可能丢包,可能重包,可能无序
  9. android 评论输入框(PopupWindow)
  10. 解决devenv.exe应用程序错误,应用程序发生异常