https://blog.csdn.net/u012865381/article/details/78521087/

1.在服务机上操作
创建要远程登录的用户和密码

[root@izwz97s23bov6qmem6poj8z ~]# useradd jundong
[root@izwz97s23bov6qmem6poj8z ~]# passwd jundong
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

2.在客户机上操作(其他机器也行,主要是用来创建密钥对)
2.1.创建ssh-key

[root@node1 ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which 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:
SHA256:W05lCKLqZ8FWTyAwTsUrBzg7HRzZfZ8ZbacHg/Wnf6c root@node1
The key's randomart image is:
+---[RSA ]----+
| o=Bo.o . +. |
|oo=.oo.o..o.=.. |
| +.o.......=o=. .|
|o ooo. o +o. .o |
| ..o+ S o .. |
| . . . = . |
| . o . . +|
| o .o|
| E |
+----[SHA256]-----+

2.2.把生成的的秘钥拷贝到服务器,
两种可选方式

方式一:可以手动拷贝
手动拷贝刚刚生成的公钥id_rsa.pub(在当前用户家目录的.ssh/id_rsa.pub),将里面的内容追加到要登录的服务器的目标用户家目录下的.ssh/ authorized_keys中,这里是/home/jundong.ssh/ authorized_keys

方式二:直接用命令拷贝
ssh-copy-id可以方便快捷地把公钥追加到到服务端的authorized_keys文件中,注意用户名,输入密码

ssh-copy-id jundong@120.78.150.47

我的操作

[root@node1 ~]# ssh-copy-id jundong@120.78.150.47
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '120.78.150.47 (120.78.150.47)' can't be established.
ECDSA key fingerprint is SHA256:KwfKwzN4xqw7/VxoVw5IoTi0NhUPZ+h2fSQXi3zgXXY.
ECDSA key fingerprint is MD5::b0:8e:c0::e6::b1:de:bd:bd:c4::d9:bf:4d.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: key(s) remain to be installed -- if you are prompted now it is to install the new keys
jundong@120.78.150.47's password: Number of key(s) added: Now try logging into the machine, with: "ssh 'jundong@120.78.150.47'"
and check to make sure that only the key(s) you wanted were added.

方式三:在阿里云控制台导入
【在控制台导入证书,阿里云做的事是:将公钥追加到/root/.ssh/authorized_keys中;修改/etc/ssh/sshd_config,把PasswordAuthentication改成no】

1.这种方式会默认把密码登录禁用,只能使用秘钥登录,可以自己手动打开(修改/etc/ssh/sshd_config,把PasswordAuthentication改成yes)

2.这种方式只能使用root用户登录,其他用户不能使用这种方式导入,因为控制台导入只会导入到/root/.ssh/authorized_keys,不会导入到其他用户目录

复制刚刚生成的公钥id_rsa.pub(在当前用户家目录的.ssh/id_rsa.pub),这里是/home/jundong.ssh/ authorized_keys,粘贴到控制台的文本框确定即可,再将密钥对绑定到指定服务器

参考链接:https://help.aliyun.com/document_detail/51794.html?spm=5176.doc51793.6.707.1A6GMv

3.测试
3.1在生成秘钥那台客户机上

[root@node1 ~]# ssh jundong@120.78.150.47

Welcome to Alibaba Cloud Elastic Compute Service !

[jundong@izwz97s23bov6qmem6poj8z ~]$

3.2在其他工具上
拷贝生成的秘钥对的私钥/home/jundong/.ssh/id_rsa(在当前用户家目录的.ssh/id_rsa)到你想要用来登录的客户机,指定其为登录的私钥和对应的用户名即可

提示使用密钥文件登录了

windows下其他工具应该也是类似的

【推荐使用Linux下自带的ssh-keygen工具生成公钥和私钥,这样的证书是通用的。在putty或者secureCRT生成的证书会是其他格式或者是带有工具特有的信息,这些证书可能在其他工具无法使用,例如:在SecureCRT生成的证书,putty可能就不能用了】
---------------------
作者:谢谢俊东不用谢
来源:CSDN
原文:https://blog.csdn.net/u012865381/article/details/78521087/
版权声明:本文为博主原创文章,转载请附上博文链接!

阿里云ECS利用密钥对ssh登录服务器的更多相关文章

  1. 阿里云ECS服务器配置ubuntu安装openfire服务器

    最近搞了一台阿里云的ECS服务器,因为搞活动半年免费,所以就申请了一台,过两天就批准下来,顺便多花了1百多RMB买了固定IP.总体说来还是挺值的,觉得一个人用挺浪费,分享出来跟大家一起玩玩. 搞台服务 ...

  2. 阿里云ECS 利用快照创建磁盘实现无损扩容数据盘

    在扩容数据盘时,若遇到磁盘原因导致无法无损的扩容时,可以临时购买一块独立云磁盘来存放数据,然后将数据盘彻底格式化来解决,以下是操作步骤: 1.  首先基于当前数据盘创建一个快照,备份数据,同时可以利用 ...

  3. 阿里云(ECS)Linux客户端SSH会话连接超时OperationTimedOut

    问题描述:使用SecureCRT等SSH客户端连接Linux服务器时,提示Operation timed out. 问题原因:SSH服务未配置或注释掉向SSH客户端连接会话发送频率和时间. 解决方法: ...

  4. 阿里云ECS服务器自定义端口无法访问问题记录

    记住阿里云ECS服务器有个安全组!!! 购买了阿里云服务器的时候,购买界面那里是可以勾选默认的几个端口是否开启的,服务器默认勾了22端口,使用户能登录服务器. 当我们在服务器里面配置nginx,开启自 ...

  5. 阿里云ECS重置磁盘到SSH登录

    1.登录阿里云(www.aliyun.com) -- > 控制台: 2.点击左边的"云服务器ECS": 3.点击上面"第二步",进入页面之后,点击&quo ...

  6. 阿里云ECS安全改造:改用AWS EC2私钥方式登录

    阿里云ECS有多烂,用过AWS的人都知道,ECS有什么问题呢,简单总结一下: 1)ubuntu居然root直接访问 2)端口全开 3)WEB控制台无法定义安全组及关闭端口 4)云盾黑洞 的确用起来很糟 ...

  7. 阿里云ECS每天一件事D1:配置SSH

    近期因为项目需求,采购了两台阿里云ECS,选择的系统为CentOS 6.3 X64 安全加固版,额外买了160G的硬盘,应该够应付此项目的需求了. ECS默认已经配置好了sshd服务,可以使用root ...

  8. 阿里云ECS服务器部署Node.js项目全过程详解

    本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细的教程了.同时讲解了如何申请阿里云免费SSL证书,以及一台ECS服务器配置 ...

  9. Linux学习1-Xshell连接阿里云ECS服务器

    前言 前段时间双十一活动,头脑发热买了个阿里云的服务器,买了后也不知道怎么用一直放着在.最近想起来,于是看了下阿里云ECS的相关资料. 由于平常一直用xshell比较多,不太习惯阿里云的ESC终端连接 ...

随机推荐

  1. gearman(异步计算)学习

    Gearman是什么? 它是分布式的程序调用框架,可完成跨语言的相互调 用,适合在后台运行工作任务.最初是2005年perl版本,2008年发布C/C++版本.目前大部分源码都是(Gearmand服务 ...

  2. 关于SMI、MSI、SCI、INTx各种中断小结【转】

    转载自http://blog.csdn.net/huangkangying/article/details/11178425 目录(?)[-] MSI VS INTxPin-based interru ...

  3. maven assembly plugin使用

    使用场景 在使用maven来管理项目时,项目除了web项目,还有可能为控制台程序,一般用于开发一些后台服务的程序.最近在工作中也遇到了这种场景,使用quartz开发一个任务调度程序.程序中依赖很多ja ...

  4. matplotlib --> r`$...$`

    文档中介绍的很详细:https://matplotlib.org/tutorials/text/mathtext.html matplotlib  Tutoials --> Text --> ...

  5. GIAC2018全球互联网架构大会深圳站盛况回顾,定格精彩瞬间!

    6月1日至2日,由知名软件培训公司msup和高可用架构联合推出的GIAC全球互联网架构大会在深圳华侨城洲际大酒店盛大召开.来自国内外顶级互联网公司.诸多著名科技图书作者在内的71名海内外著名专家与现场 ...

  6. .NET Core开发日志——从搭建开发环境开始

    .NET Core自2016年推出1.0版本开始,到目前已是2.1版本,在其roadmap计划里明年更会推出3.0版本,发展不可不谓之迅捷.不少公司在经过一个谨慎的观望期后,也逐步开始将系统升级至最新 ...

  7. update set from 语句用法

    关键字: update set from 下面是这样一个例子: 两个表a.b,想使b中的memo字段值等于a表中对应id的name值     表a:id, name               1   ...

  8. A股行情记录

    14年:券商 + 高铁 15年:大牛 16年:钢铁,煤炭(去产能) 17年:消费,大白马(去杠杆) 18年:科技股,垃圾股(股权质押),科创板 19年:券商 + 大金融 + 科技股 ?

  9. [No0000131]WCF压缩传输方案整理

    1.WCF进阶:将编码后的字节流压缩传输 2.通过WCF扩展实现消息压缩 3.WCF 消息压缩性能问题及解决方法

  10. python中的os.path.dirname(__file__)的使用

    在编程时,我们要获取当前文件所在的路径,以适合所有的工程,建立相对路径. python的os.path.dirname(__file__)非常好用,建议大家使用: import os FILE = o ...