[linux]阿里云主机的免登陆安全SSH配置与思考

时间:2022-06-19 13:47:32

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

[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工作原理

  1. 服务器接受到客户端登录请求,首先会把公钥发给用户;
  2. 客户端使用该公钥,将登录密码加密后,发给服务器;
  3. 服务器利用自己的公钥,解密登录密码,如果成功,允许客户端访问。

二 实战分析

需求场景

远程免密码登录服务器

环境属性

远程服务器:centos linux版本

本地计算机:mint linux版本

(说明:基本上不管哪一种linux服务版本,基本配置基本一致)

解决方案

我们对免登陆,我们可以使用 SSH协议,通过公钥,私钥来实现.


三 本地客户端配置

a.查询本地是否生成过

打开命令窗口 查询本地是否已有SSH秘钥:

 cat ~/.ssh/id_rsa.pub

如果之前使用过,可以看到如图。

[linux]阿里云主机的免登陆安全SSH配置与思考

如果没有,则说明没有生成过,这里我的已经生成了

如果现实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_rsaid_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配置与思考的更多相关文章

  1. [linux]阿里云主机的免密码登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  2. Linux中不同主机建立免登陆

    ssh-keygen -t rsa scp /root/.ssh/id_rsa.pub  root@192.168.0.236:/root/.ssh/authorized_keys cat /root ...

  3. 放弃阿里云主机,选择高性价比Vultr VPS免备案

    阿里云主机ECS推广多年后,质量有所改善,但我依然强烈不推荐阿里云主机.考虑性价比带宽速度等因素后,我推荐的vps品牌有vultr和digitalocean,还有大名鼎鼎的linode,是中国用户的最 ...

  4. 阿里云3台机器组成集群配置ssh免密码登陆

    1 查询阿里云局网ip 注意:需要配置同一地区同一可用区的机器 才是一个局网 2 配置好hosts文件 3 hostname确认也是正确的 4 生成公钥私钥 三台机器同样操作 ssh-keygen - ...

  5. 阿里云主机(aliyun-Linux) x64安装Redis详解

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/97.html?1455870336 如何在Linux​上安装Redis呢, ...

  6. 阿里云主机安装Memcached

    http://www.zyuns.com/?page_id=354 前言最近发现阿里云主机在使用中,并发访问量稍大,页面加载速度就很慢.于是学习了一些服务器优化的文章,决定安装Memcached,优化 ...

  7. 【小技巧解决大问题】使用 frp 突破阿里云主机无弹性公网 IP 不能用作 Web 服务器的限制

    背景 今年 8 月份左右,打折价买了一个阿里云主机,比平常便宜了 2000 多块.买了之后,本想作为一个博客网站的,毕竟国内的服务器访问肯定快一些.满心欢喜的下单之后,却发现 http 服务,外网怎么 ...

  8. 在阿里云主机的Debian操作系统上安装Docker

    因为需要新搭建饭团网站,所以需要在阿里云的主机上跑数据库,java环境. 考虑到可扩展性和模块化,所以准备最近流行的docker技术.Docker -- 从入门到实践 阿里云主机1核1G,资源不多,所 ...

  9. 阿里云主机Nginx下配置NodeJS、Express和Forever

    https://cnodejs.org/topic/5059ce39fd37ea6b2f07e1a3 AngularJS中文社区即运行在阿里云主机上,本站使用Nginx引擎,为了AngularJS,我 ...

随机推荐

  1. Linux 网络子系统

    今天记录一下Linux网络子系统相关的东西. 因为感觉对这一块还是有一个很大的空白,这件事情太可怕了. 摘抄多份博客进行总结一下Linux网络子系统的相关东西. 一. Linux网络子系统体系结构 L ...

  2. android 入门-防微信拍摄视频 按钮事件处理

    package com.cc.view; import com.cc.R; import com.cc.R.layout; import com.cc.R.menu; import android.o ...

  3. Java基础之集合框架——使用堆栈Stack<>对象模拟发牌(TryDeal)

    控制台程序. public enum Rank { TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT, NINE, TEN, JACK, QUEEN, KING, A ...

  4. iOS学习笔记总结整理

    来源:http://mobile.51cto.com/iphone-386851_all.htm 学习IOS开发这对于一个初学者来说,是一件非常挠头的事情.其实学习IOS开发无外乎平时的积累与总结.下 ...

  5. linux 关机方式

    linux 关机命令: 1-  init 0 关机. 具体详情接受可以 init --help 查询 如下: init [OPTIONS...] {COMMAND} Send control comm ...

  6. python写的第一个简单小游戏-猜数字

    #Filename:game1.py guess=10 running=True while running: try: answer=int(raw_input('Guess what i thin ...

  7. MySQL EER反向建表

    Database > Synchronize Model... Choose Stored Connection Select the Schemata Choose which to upda ...

  8. add monitor resolution

    cvt 1920 1080 # Get the correct settings for the new mode # Output for me: "1920x1080_60.00&quo ...

  9. 房上的猫:for循环,跳转语句与循环结构,跳转语句进阶

    一.for循环 1.定义:  for循环语句的主要作用是反复执行一段代码,直到满足一定条件为止 2.组成部分:  (1)初始部分:设置循环的初始状态  (2)循环体:重复执行的代码  (3)迭代部分: ...

  10. Java中字符串的一些常见方法

    1.Java中字符串的一些常见方法 /** * */ package com.you.model; /** * @author Administrator * @date 2014-02-24 */ ...