论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
主机系统
›
linux
›
【Linux】图文详解Xshell长途毗连服务器:以Amazon EC2 ...
【Linux】图文详解Xshell长途毗连服务器:以Amazon EC2 VPS为例 ...
小小小幸运
金牌会员
|
2024-8-12 18:54:43
|
显示全部楼层
|
阅读模式
楼主
主题
840
|
帖子
840
|
积分
2520
题目形貌
本地cmd或powershell利用ssh -i “your.pem” user_name@ip_address是可以登录Amazon EC2云服务器的。
然而,当利用XShell以SSH加载PEM文件方式登录亚马逊EC2云服务器,一直出现输入密码的题目,如下截图所示:
解决方案
参考该博客基本可以解决题目:https://blog.csdn.net/fly_leopard/article/details/132540483
基本原理:创建一个新的 SSH 密钥对,并将公钥添加到服务器的授权列表中,以便利用对应的私钥举行 SSH 登录。
cd ~/.ssh/
# 生成一对 ECDSA 密钥。生成密钥时不设置密码就直接回车。
ssh-keygen -t ecdsa -f my_aws_key
# 将公钥添加到服务器的授权密钥列表中,以实现密钥对认证。
cat my_aws_key.pub >> authorized_keys
# 复制私钥的内容,然后在本地保存为一个私钥文件。注意,私钥必须严格保密,不要泄露给任何人!!!
cat my_aws_key
复制代码
Xshell添加刚刚保存的私钥文件
再新建一个毗连
假如创建密钥对时输入了密码,也必要在以下截图中输入密码。
done.
Q&A
1.怎么明白该命令:ssh-keygen -t ecdsa
ssh-keygen -t ecdsa是一个在Unix或类Unix系统(如Linux)中天生SSH(Secure Shell)密钥对的命令。SSH是一个用于长途登录到服务器,执行命令和管理系统的协议。
这个命令的各个部门的意义如下:
ssh-keygen:这是一个天生SSH密钥对的步伐。SSH密钥对包罗一个公钥和一个私钥,你可以将公钥放在长途服务器上,然后用你的私钥来登录。
t:这是一个选项,用来指定天生的密钥类型。
ecdsa:这是一个密钥类型,表示利用椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm)。这种算法比RSA和DSA更安全,同时天生的密钥长度更短,以是更高效。
以是,ssh-keygen -t ecdsa命令的作用就是天生一个利用椭圆曲线数字签名算法的SSH密钥对。
2.如何天生指定文件名的公私钥,以及对应的pem文件
在ssh-keygen命令背面加上-f选项和文件名来指定天生的公私钥的文件名。
# 生成名为mykey的私钥和名为mykey.pub的公钥
ssh-keygen -t ecdsa -f mykey
复制代码
再利用openssl命令将天生的私钥转换为PEM格式。
# 将mykey转换为mykey.pem
openssl ec -in mykey -out mykey.pem
复制代码
请注意,这些命令可能必要你输入密码来保护你的私钥。假如不盼望输入密码,可以在ssh-keygen命令背面加上-N ""选项。比方:
ssh-keygen -t ecdsa -f mykey -N ""
复制代码
3.ssh-keygen默认利用什么算法?
ssh-keygen的默认算法可能会根据你的系统或SSH版本差别而差别。然而,从OpenSSH 7.0开始,默认算法是ed25519。ed25519是一种利用Edwards曲线的公钥签名算法,它提供了更好的安全性和效率。
你可以通过运行ssh-keygen命令而不带任何参数,然后查看天生的公钥文件(默以为~/.ssh/id_rsa.pub或~/.ssh/id_ed25519.pub),来确定你的系统利用的默认算法。公钥文件的开头将会指示利用的算法,比方ssh-rsa或ssh-ed25519。
假如你想利用特定的算法,你可以利用-t选项,如ssh-keygen -t rsa或ssh-keygen -t ecdsa。
4.利用ssh-rsa算法天生的公私钥为什么在长途毗连时还必要输入密码?
当你利用SSH公钥认证方式毗连到长途服务器时,通常必要输入两种类型的密码:
SSH密钥密码:当你创建SSH密钥对时,有选项为私钥设置密码。这是为了保护私钥不被未授权利用。每次利用这个私钥时(比方,利用SSH毗连到长途服务器),你都必要输入这个密码。假如你在创建密钥对时没有设置密码,那么在利用这个私钥时就不必要输入密码。
长途用户密码:即使你利用SSH密钥认证,长途服务器可能仍然必要你输入长途用户的密码。这是由于SSH公钥认证和用户密码认证是两个独立的步骤。即使SSH公钥认证成功,你仍然必要知道长途用户的密码才能登录。然而,很多服务器会配置为只利用SSH公钥认证,这样就不必要输入用户密码。
假如你每次毗连都必要输入私钥密码,你可以思量利用ssh-agent步伐来记着你的私钥和密码,这样你就不必要每次都输入密码了。只需谨慎利用,由于任何能访问ssh-agent的人都可以利用你的SSH密钥。
5.服务器怎么配置只利用SSH公钥认证?
要配置服务器只接受SSH公钥认证,必要修改SSH守护进程的配置文件,通常这个文件是/etc/ssh/sshd_config。
以下是一些可能必要修改或确认的设置:
PubkeyAuthentication yes:这个选项启用公钥认证。默认情况下,这个选项通常是开启的。
PasswordAuthentication no:这个选项克制密码认证。将这个选项设置为no可以确保只有持有有效公钥的用户才能登录。
ChallengeResponseAuthentication no:这个选项克制质询-相应认证。将这个选项设置为no可以防止其他认证方法。
PermitRootLogin prohibit-password或PermitRootLogin without-password:这个选项防止root用户利用密码登录。这个设置增加了系统的安全性,由于攻击者不能实验猜测root密码。
修改完sshd_config文件后,你必要重新启动SSH守护进程以使修改收效。在大多数系统上,你可以利用以下命令来完成:
sudo service ssh restart
复制代码
或
sudo systemctl restart sshd
复制代码
note:
这些设置将克制全部形式的密码认证,包罗通过SSH的交互式密码认证。因此,在关闭密码认证之前,应该确保公钥已经添加到服务器的~/.ssh/authorized_keys文件中,否则可能会被锁在系统外面。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
小小小幸运
金牌会员
这个人很懒什么都没写!
楼主热帖
收藏:再谈软件定义存储发展及现状 ...
Ubuntu如何安装Mysql+启用远程连接[完 ...
软件项目管理 7.4.5.进度计划编排-敏捷 ...
青龙2.10.13 稳定版+xdd-plus+阿东教程 ...
5.2 基于ROP漏洞挖掘与利用
京准电钟北斗时钟服务器,GPS网络时间服 ...
【.NET】控制台应用程序的各种交互玩法 ...
权限提升(1)
唯一/普通索引的选择?change buffer ...
微信公众号模板消息源码实现,打破服务 ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表