Linux学习笔记总结--ssh认证登录
原理简介
SSH证书认证登录的基础是一对唯一匹配密钥: 私钥(private key)和公钥(public key)。公钥用于对数据进行加密,而且只能用于加密。而私钥只能对使用所匹配的公钥,所加密过的数据进行解密。私钥需要用户单独妥善保管。SSH 客户端使用私钥向服务器证明自已的身份。而公钥是公开的,可以按需将其配置到目标服务器上自己的相应帐号中。
在进行 SSH 登录认证时,进行私钥和公钥协商。如果匹配,则身份得以证明,认证成功,允许登录。否则,将会继续使用密码验证等其它方式进行登录校验。
在 Linux 环境下,通常使用系统自带的 ssh-keygen 软件来创建和管理密钥对。请执行如下步骤创建密钥对:
- 以任意具有 ssh-keygen 执行权限的用户登录服务器。
- 使用如下指令,基于 rsa 算法创建密钥对:
ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file inwhich to save the key (/root/.ssh/id_rsa): → 默认保存路径和文件名,可以按需修改。
Enter passphrase (empty for no passphrase): → 如前面所述,不设置密码,回车确认即可。
Enter same passphrase again: → 不设置密码,回车确认即可。
Your identification has been saved in /root/.ssh/id_rsa. → 创建的私钥文件。
Your public key has been saved in /root/.ssh/id_rsa.pub. → 创建的公钥文件。
The key fingerprint is:
17:b8:0e:76:cb:57:21:3b:f2:bb:8b:a2:42:2b:54:be root@iZ233gr74jvZ
The key's randomart image is:
+--[ RSA 2048]----+
| |
| . |
| . o . |
| . . + . |
| o o S + . |
| ... . = = o |
|.. .. + o |
|. oE . o . |
| . ... .. +o |
+-----------------+说明:
如果 .ssh 目录不存在,程序会自动创建。
生成的密钥对默认保存在当前用户家目录下的 .ssh 文件夹中,文件名默认为 id_rsa(私钥) 和 id_rsa.pub(公钥)。用户可以按需设置保存路径和文件名。
3.ssh-copy-id 只能copy公钥
ssh-copy-id -i .ssh/id_rsa.pub "-p 22 root@192.168.1.27"
需要输入密码后,就能分发公钥了
4. 验证:ssh root@192.168.1.27 /sbin/ifconfig eth0 查看ip
Windows 环境自动登录
Window 环境下,还是以常见的NetSarang Xshell为例,请执行如下配置进行自动登录:
- 单击 文件 > 属性,打开主机属性配置窗口。
- 点击 连接 > 用户身份验证,如下图所示,将 方法 设置为 Public Key;将 用户名 设置为已经设置了证书登录的相应用户名;将 用户密钥 设置为对应的私钥。最后,点击 确定。
这个时候,你已经有了一对密钥,需要开始设定服务器的配置,启用密钥认证登录,同时为了系统安全着想,关闭密码认证的方式
vim /etc/ssh/sshd_config
修改下面几处:
PubkeyAuthentication yes #启用PublicKey认证。
AuthorizedKeysFile .ssh/authorized_keys #PublicKey文件路径。
PasswordAuthentication no #不适用密码认证登录。
- 上面配置完成后,需要重启sshd服务。
接着,在你需要的登录的用户家目录的.ssh目录下,编辑authorized_keys文件,将开始我们生成密钥对的公钥写到这个文件中。
公钥查看方法:点击Xshell菜单的工具,选择用户密钥管理者,双击你刚刚生成的密钥打开属性,选择公钥,复制公钥的内容,稍后使用
- 注意:要添加多个用户,需要在这个文件后,换行,加入另一个公钥即可;
- 接着,修改该文件的权限,chmod 600 ,否则可能会遇到问题
- 至此,登录测试
Linux学习笔记总结--ssh认证登录的更多相关文章
- Linux学习笔记 | 配置ssh
目录: SSH的必要性 将默认镜像源修改为清华镜像源 Linux安装ssh软件 使用putty软件实现ssh连接 Windows下安装winscp SSH的必要性 一般服务器都位于远程而非本地,或者及 ...
- Linux 学习笔记
Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...
- 91 Testing Linux学习笔记
91 Testing Linux学习笔记... 学习地址:91Testing 的Linux教程=====================学习网址:http://www.91testing.net/ar ...
- linux学习笔记2-linux的常用命令
第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装linux操作系统,以及一些基本的设置修改. 本篇博客主要介绍linux中的一些常用的终端命令 ======== ...
- Linux学习笔记(一)2015.4.13
研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...
- deepin linux学习笔记(四)进不去图形界面怎么办?
目录 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 更换成lxde桌面 进不去图形界面怎么办? 总结 deepin linux学习笔记(四)进不去图形界面怎么办? 前言 生命不息 ...
- linux学习笔记2 - linux常用命令
转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 8
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 7----------------- ...
随机推荐
- apache整合tomcat部署集群
近日,由于公司项目需要,所以学习了apache整合tomcat以及集群的一些知识. 所以做下笔记日后回顾可以用到. apache只有处理静态事物的能力, 而tomcat的强项就是处理动态的请求,所以a ...
- DHTMLX 前端框架 建立你的一个应用程序教程(四)--添加一个工具条toolbar
工具条例子 样本如下: 这里我们使用的是dhtmlxToolbar 组件. 添加工具栏到布局中: 1.使用attachToolbar() 方法初始化页面 添加代码到index.html中 dhtmlx ...
- 解决linux下导入数据库乱码问题
引言:在windows下的mysql数据库导出SQL文件,在Linux下导入后显示为乱码. 1.启动Mysql服务及创建数据库(下面uushop为我将创建的数据库名) service mysqld s ...
- SIFT算法:KeyPoint找寻、定位与优化
SIFT算法:DoG尺度空间生产 SIFT算法:KeyPoint找寻.定位与优化 SIFT算法:确定特征点方向 SIFT算法:特征描述子 目录: 1.找寻 2.定位 3.优化 1 KeyPoint ...
- Ajax长连接应用
所谓的长连接,就是不断去发送请求,把请求阻塞在服务器端,每次超过请求时间就去重新发送请求,保持连接,随时获取服务器端的响应的数据 function connection(){ $.ajax({ typ ...
- HDOJ --1172
#include<iostream> #include<cstdio> #include<cstring> #include<string> #incl ...
- HDU-1874 畅通工程续 (最短路径启蒙题)
hdu 1874比较基础,拿来练各种刚学会的算法比较好,可以避免好多陷阱,典型的最短路模板题 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memor ...
- sql递归函数(自定义函数递归查找) 能返回递归的层次
实现效果图如下: 创建表: create table t_tree ( id int IDENTITY(1,1), parentid int, name varchar(10) ) go 插入测试数据 ...
- [转]SVN的trunk branch tag
Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/|+-trunk+-branches+-ta ...
- 有7g和2g的砝码各一个,怎样称可以3次把140g东西分为50g和90g???????
第一次:等分 50和90为 70 70 2. 7g 和2g ,取出一个70中的9g , 61 70 3.利用 9g和2g砝码,取出61中的11克,前面的9 和 11 都放进70