配置key认证登陆Ubuntu (下)
梗概:
- 使用证书登陆,可以减少密码的使用,避免密码泄露,证书登陆更加方便、安全。
- Secure CRT 和Putty 原理相同,生成 密钥对(Key pair)操作有所不同。
1、生成key pair, 先以SecureCRT 为例
密钥类型有RSA 和 DSA两种,sshd_config里面两种都支持,一般选用RSA.
长度512-2048位任选。
通行短语:这个地方类似是一条口令,在建立Session的时候会要求输入,个人觉得没必要填写,填了相当于在证书登陆的过程中又加入了密码这种东西。
注释:随便填,可以作为一段描述,这段内容会在私钥的内容里可以看到。
2、生成密钥对后,保存公钥和私钥到本地。私钥会自动应用于全局变量,也可以手动添加。
公钥:Identity.pub
私钥:Identity
客户端配置完毕。
3、将公钥 identity.pub 上传至服务器上的用户目录 ~/.ssh/authorized_keys ,名字随意,和sshd_config里配置文件一致即可。
mkdir .ssh #在需要开启ssh连接的用户目录下建立 .ssh目录,不存在的话就自己创建。
chmod 700 .ssh
上传的方式有多种
1)如果是虚拟机,直接拽入或者通过share folder。
2)FTP ,事先要搭建好FTP服务器如vsftpd. 可以使用命令行方式+第三方工具。
3)Samba ,如前文描述。
4)SFTP(Secure FTP), SFTP是基于SSH 协议的,SecureCRT自带,连接后使用和FTP一样,命令行+第三方工具(FileZilla/Winscp)
PS1:FTP和SFTP都是文件传输协议,FTP默认端口是23,SFTP基于SSH,默认端口和SSH一样是22. SFTP是加密的文件传输,比FTP安全。
考虑到SSH证书登陆并没有完成, 可以暂时允许SSH用密码登陆进去建立一个会话,然后把公钥上传上去。
ls 列出服务器当前目录 ,cd 切换目录
lls 列出本地当前目录 ,lcd 切换本地当前目录
put 上传至服务器,get 下载至本地,所以我们使用put identity.pub即可。
PS2 :由于我们的SSH使用的是OpenSSH ,低版本CRT不支持在本地导出openssh格式,可先上传至服务器然后使用ssh-keygen转换。
#ssh-keygen -i -f Identity.pub >>~/.ssh/authorized_keys #这个地方用>>追加符号,因为这个文件里可能存在两个不同的公钥,比如我下文用putty生成的pair key.
#chmod 644 .ssh/authorized_keys
4、更改ssh配置文件
vim /etc/ssh/sshd_config #修改ssh配置文件,需要root权限
PermitRootLogin no #禁止root登录
PubkeyAuthentication yes #启用公告密钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #这个地方名字保持一致即可
RSAAuthentication yes #允许RSA密钥
PasswordAuthentication no #禁止密码验证登录,如果启用的话,OpenSSH的RSA认证登录就没有意义了
保存后重启ssh 服务
# service ssh restart
5、验证登陆
用户名就是你存放公钥的用户,身份验证的地方口令不选。
连接过程如果在1填了口令,会让你输入口令;没有口令的话,应该很快很自动连上。
Putty部分主要是Key pair这部分生成的步骤略有不同,其他都是一样的,不再赘述。
最后对密钥登陆过程中一些细节的回顾。
SecureCRT 和 putty使用同样的加密算法,但在生成key pair的格式上有所不同。
1、先看看公钥:1 (OpenSSH 格式)
再看看私钥:2.ppk
私钥内容上:Public+Private组成。
2、再来看看securecrt
这时候的公钥还是VAN DYKE格式,在服务器上用命令转为OpenSSH格式后,authorized_keys内容如下:
上面的是putty的公钥,下面是securecrt的公钥,服务器上是可以存放多个公钥的,如果再有一对key pair,直接往authorized_keys里面继续添加这段随机码即可,转不转成openssh格式倒是无所谓。
参考链接:
http://www.ssc.wisc.edu/sscc/pubs/linstat_public_key.htm
http://blog.chinaunix.net/uid-20639775-id-3207171.html
http://blog.csdn.net/zhaohaifan/article/details/8051694
配置key认证登陆Ubuntu (下)的更多相关文章
- 配置key认证登陆Ubuntu (上)
每一个看似轻松的结果背后都有不为人知的辛酸.又是一件小事,结果折腾了一天. 上接配置好SSH 和Samba后,开始了Python编程实践.由于实在不大会用Vim, 所以最后的编程环境实际上在Windo ...
- linux SecureCRT ssh key认证登陆
转自:http://blog.chinaunix.net/uid-20639775-id-3207171.html 通过SecureCRT创建key登录认证 一.生成公钥/密钥对 使用SecureCR ...
- ubuntu下apache2 安装 配置 卸载 CGI设置 SSL设置
一.安装.卸载apache2 apache2可直接用命令安装 sudo apt-get install apache2 卸载比较麻烦,必须卸干净,否则会影响ap ...
- ubuntu下java JDK环境配置
ubuntu下配置JDK环境变量ubuntu下的JDK配置本质上和win一样的:1.去官网下载JDK,选择适合自己版本,我下载的版本是jdk-8u121-linunx-x64.tag.gz,官方网址h ...
- ubuntu下配置JDK7环境变量
ubuntu下JDK配置本质上和win是一样的: 1.去官网下载JDK7,找jdk-7u21-linux-i586.tar.gz并下载:http://www.oracle.com/technetwor ...
- Ubuntu下使用git提交代码至GitHub
一.Ubuntu下安装Git Ubuntu12.04 LTS默认是已经安装Git的,可以使用 git --version 测试是否安装. 如果没有安装,使用命令: sudo apt-get insta ...
- windows、ubuntu下eclipse搭建java、Python环境问题总结
前两篇博文分别讲述了如何在windows.ubuntu下用eclipse搭建java.python环境,下面就针对本人遇到的问题做一个总结. 一.windows下关于java环境变量JAVA_HOME ...
- Ubuntu下Zabbix安装及使用问题
1.configure: error: MySQL library not found MySQL library not found root@kallen:~# apt-get install l ...
- Ubuntu下SSH无密码验证配置
前言 SSH为Secure Shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议.越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ss ...
随机推荐
- 使用cqlsh远程连接cassandra——设置cassandra.yaml里rpc_address和listen_address为ipv4地址即可
You need to edit cassandra.yaml on the node you are trying to connect to and set the node ip address ...
- MySQL Multi-Range Read
MySQL 5.6版本提供了很多性能优化的特性,其中之一就是 Multi-Range Read 多范围读(MRR) , 它的作用针对基于辅助/第二索引的查询,减少随机IO,并且将随机IO转化为顺序IO ...
- vs2013出现错误提示error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s
这个问题是vs准备弃用strcpy带来的,因为觉得他不太安全 可以尝试在main函数前面加上#pragma warning(disable:4996)即可解决这个问题
- ng 指令的自定义、使用
1.创建和使用var app = angular.module('myApp',['ng']);app.directive('指令名称',func); 自定义指令的命名:驼峰式,有两部分构成,前缀一般 ...
- 程序猿之GitHub
介绍 GitHub是一个分布式的代码.文章等等管理仓库.面向开源及私有软件项目. 简单来说,Git 是一个管理你的「代码的历史记录」的工具. 开始使用(知乎总结) 账号注册 创建新工程 克隆到本地 删 ...
- php果然是世界上最好的语言
这两天参加Hackathon,作为一个什么都半吊子的家伙,两人小队伍被逼上岗,于是我不得不着手写代码.由此,我体验到了php的魔力-- 首先,我深刻地意识到了更新版本的重要性. 偷懒不想搭Apache ...
- Lumen实现用户注册登录认证
Lumen实现用户注册登录认证 前言 Lumen是一个基于Laravel的微框架,号称是以速度为生.截用Lumen官网的一段,号称是比silex和slim还要快. 本文将用Lumen来实现一个完整的用 ...
- HihoCoder 1183 : 连通性一·割边与割点(模板)
连通性一·割边与割点 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢失.为了避免再次 ...
- SharePoint 创建列表并使用Windows Presentation Foundation应用程序管理列表
SharePoint创建列表并使用程序管理列表 列表是SharePoint开发者输入数据的方式之中的一个.使用Web界面创建一个列表并加入一些数据.过程例如以下: 1. 打开站点. 2 ...
- android资源目录---assets与res/raw区别
android资源目录---assets与res/raw的不同 Android 2011-05-24 14:40:21 阅读20 评论0 字号:大中小 订阅 assets:用于存放需要打包到应用程 ...