[linux]阿里云主机的免密码登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆。

一 理论概述
SSH介绍
SSH 为 Secure Shell 的缩写,由 IETF 的Network Working Group提出.
SSH 是建立与应用层基础上的安全协议.
SSH 相对可靠,专为远程s登录会话和其他网络服务提供安全性的协议.
SSH好处
利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题.
SSH基本使用
SSH主要用于远程登录。假定你要以用户名root,登录远程主机10.97.0.10
$ ssh root@10.97.0.10
假如你本地用户名与远程用户名一致,可以缩写为:
$ ssh 10.97.0.10
SSH工作原理
- 服务器接受到客户端登录请求,首先会把公钥发给用户;
- 客户端使用该公钥,将登录密码加密后,发给服务器;
- 服务器利用自己的公钥,解密登录密码,如果成功,允许客户端访问。
二 实战分析
需求场景
远程免密码登录服务器
环境属性
远程服务器:centos linux版本
本地计算机:mint linux版本
(说明:基本上不管哪一种linux服务版本,基本配置基本一致)
解决方案
我们对免登陆,我们可以使用 SSH协议,通过公钥,私钥来实现.
三 本地客户端配置
a.查询本地是否生成过
打开命令窗口 查询本地是否已有SSH秘钥:
cat ~/.ssh/id_rsa.pub
如果之前使用过,可以看到如图。

如果没有,则说明没有生成过,这里我的已经生成了
如果现实ssh-rsa或 ssh-dsa开头的字符串,说明您本地已经有了,可以跳过下面b步.
b.生成公钥
ssh-keygen -t rsa -C "*******@qq.com"
注解:引号内是你唯一Email,这里可以作为以后Git远程仓库使用.
该指令回车后,需要输入键值对和密码,直接回车就行.
c.获取公钥
cat ~/.ssh/id_rsa.pub
与a步一致,查看是否生成.
通过上面过程,会在本地客户端生成一堆公钥私钥,目录一般在/home的子目录下
注意:这里我的用户名hyh,所以在/home/hyh/.ssh目录下
注意2: .ssh文件夹属于隐藏文件夹
Linux图形化界面可以使用:Ctrl+H快捷键查看
Shell命令窗口使用:ls -a命令查看
/home/hyh下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub
四 配置远程服务端
a.复制文件
复制本地客户端文件到远程服务端,使用scp进行上传
本地运行(这里路径使用自己配置,包括远程IP):
scp -r /home/hyh/.ssh/id_rsa.pub root@10.97.0.10:/home/.ssh/id_rsa.pub
注意:我这里远程服务器使用的是root用户,直接在/home下的.ssh下,如果远程还没有该目录,请自行先到远程服务器mkdir .ssh 生成一个.
运行上面代码,是要输入密码登录的,输入正确之后,会显示上传进度.
id_rsa.pub 100% 223 0.2KB/s 00:00
b.添加该文件到 authorzied_keys文件
$ cat id_rsa.pub >> .ssh/authorized_keys
c.设置权限
$ chmod 600 .ssh/authorized_keys
四 测试
在本地客户端 ssh登录远程 服务端
$ ssh 10.97.0.10
OK...第一次登录还需要再次输入一次密码。往后就不需要了
The authenticity of host '10.97.0.10 (10.97.0.10)' can't be established.
RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
Are you sure you want to continue connecting (yes/no)? **yes**
Warning: Permanently added '192.168.1.181' (RSA) to the list of known hosts.
Last login: Thu Dec 29 23:31:17 2016 from 10.97.0.10
Welcome to aliyun Elastic Compute Service!
至此,完美的实现了客户端免密码登录到服务端的配置。
SSH百科
SSH 为 Secure Shell 的缩写,安全外壳协议,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。SSH最初是UNIX系统上的一个程序,后来又迅速扩展到其他操作平台。SSH在正确使用时可弥补网络中的漏洞。SSH客户端适用于多种平台。几乎所有UNIX平台—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其他平台,都可运行SSH。
本文完
原创文章,转发请注明出处:http://www.cnblogs.com/hyhnet/p/6253691.html
独立博客:http://www.hanyahong.com
Wechat :wixf150
[linux]阿里云主机的免密码登陆安全SSH配置与思考的更多相关文章
- [linux]阿里云主机的免登陆安全SSH配置与思考
公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...
- Hadoop 免密码登陆(ssh)
record save here first [root@hadoop .ssh]# ssh-keygen -t rsa -P ''Generating public/private rsa key ...
- Linux命令(五)免密码远程登录和配置别名
1. ssh-keygen 2. ssh-copy-id -p port user@remote .ssh中建立并编辑config文件 原来需要 ssh -p ubuntu@xxx.xxx.xxx 现 ...
- 【Hadoop系列】linux下 root用户免密码登录远程主机 ssh
SSH原理:[Hadoop系列]linux SSH原理解析 操作环境: CentOS 6.5 操作对象: 用户A主机和远程主机B 正文部分:斜体加粗代表linux指令. linux下 非root用户免 ...
- hadoop搭建杂记:Linux下ssh免密码登陆
关于ssh免密码登陆的问题 关于ssh免密码登陆的问题 linux下可以用ssh-keygen来生成公钥/私钥对 ①生成id_rsa和id_rsa.pub公钥/私钥对,自动在~/.ssh下生成文件(亦 ...
- linux如何配置双机SSH信任然后双向免密码登陆
linux如何配置双机SSH信任然后双向免密码登陆 www.111cn.net 更新:2015-01-14 编辑:edit02_lz 来源:转载 有时为了方便管理多台Linux主机,想实现双机之间信任 ...
- Jenkins进阶系列之——09配置Linux系统ssh免密码登陆
ssh认证的完整描述:https://www.ibm.com/developerworks/cn/linux/security/openssh/part1/ 说明:点我去查看 今天我们只说生成ssh的 ...
- 放弃阿里云主机,选择高性价比Vultr VPS免备案
阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...
- linux 配置免密码登陆
在使用scp命令传输的时候需要密码 配置免密码登陆 ssh-keygen -t rsa (四个回车) 执行命令完成后,会生成两个文件id_rsa(私钥).id-rsa.pub(公钥) 将公钥拷贝到要免 ...
随机推荐
- 浅析TCP /UDP/ IP协议
互连网早期的时候,主机间的互连使用的是NCP协议.这种协议本身有很多缺陷,如:不能互连不同的主机,不能互连不同的操作系统,没有纠错功能.为了改善这种缺点,大牛弄出了TCP/IP协议.现在几乎所有的操作 ...
- Mongodb 3.6 副本集测试及添加删除节点等操作
下载tar包并安装curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.6.8.tgz [root@mysqlt ...
- 设置windows10 背景颜色
[Win + R ] regedit 打开注册表 HKEY_CURRENT_USER\Control Panel\Colors 1.[InfoWindow] 默认为(白色):255 255 255, ...
- 自定义ASP.NET MVC Html辅助方法
在ASP.NET MVC中,Html辅助方法给我们程序员带来很多方便,其重要性也就不言自明.有时候,我们不想重复地写一些HTML代码,或者MS没有提供我们想要的那个HTML标签的Html辅助方法,那么 ...
- 【转载】基于TINY4412的Andorid开发-------简单的LED灯控制
阅读目录(Content) 一.编写驱动程序 二.编写代码测试驱动程序 三.编写HAL代码 四.编写Framework代码 五.编写JNI代码 六.编写App 参考资料: <Andriod系统源 ...
- Go并发原理
Go语言是为并发而生的语言,Go语言是为数不多的在语言层面实现并发的语言:也正是Go语言的并发特性,吸引了全球无数的开发者. 并发(concurrency)和并行(parallellism) 并发(c ...
- Android Studio 搭配 Tortoise SVN 安装问题汇总
(1)Android studio 中想要使用SVN,但是在安装 1.9版本的SVN,会报SVN is too old(实际是太新了)的错误.所以只能下载1.8以下版本 (2)安装svn时,需要手动选 ...
- 201671010127 2016—2017-2 java学习新征程
通过大一整个学年对Python和C语言的学习,我对编程的感受有了更进一步的认识.随着时代的进步,编程语言也在实时更新,面对越来越多的编程语言,对于在编程方面的初学者,选择一门适合自己的编程语言就显得十 ...
- [bzoj2460] [BeiJing2011]元素(线性基+贪心)
题目大意: 有一些矿石,每个矿石有一个a和一个b值,要求选出一些矿石,b的和最大且不存在某个矿石子集它们的a的异或和为0. 解题关键:对魔力进行由大到小排序,依次加入线性基,统计即可. #includ ...
- 使用Javascript Ajax 通信操作JSON数据 [下]
上一篇文章我们获得后台数据库的数据后转换成json格式然后返回到前台,但只是返回的一位数组,这次我们返回二维和三维数组和对象. 前台代码shizhan.html: <!DOCTYPE html& ...