用本地 pwsh 连接云服务器

当我们获得服务器、装载了镜像之后,就要考虑登录问题了。本文使用阿里云网页和本地 pwsh (v7.4.3) 来完成 SSH 连接,方便之后直接在本地 pwsh 连接云服务器的 admin 用户。

为什么要用 SSH 连接

阿里云默认使用密码连接 root、workbench 连接 admin,使用常规 22 端口。这对于一个公网服务器来说并不安全,因为互联网上有恶意攻击的服务器会穷举你的服务器密码,尝试登录 root 用户,进而破坏服务器。

可以在服务器上输入以下命令,看看有没有人尝试登录你的 root 用户:

sudo lastb -n 10

SSH 使用密钥对验证的方式进行免密登录。一个密钥对分为公钥(id_rsa.pub)和私钥(id_rsa),客户端存储密钥对,而服务器仅存储公钥。身份认证过程分为六步:

  1. 客户端向服务器发送连接请求
  2. 服务器向客户端发送随机明文
  3. 客户端使用私钥加密接收的明文
  4. 客户端向服务器发送密文
  5. 服务器使用公钥解密
  6. 服务器将解密结果和原来发送的明文比对:如果两者相同,则身份验证成功。

可以看出,使用密钥对可以极大程度的避免穷举密码登录的可能性。

部署 SSH 密钥对

本机生成密钥对

打开 pwsh,输入以下指令生成密钥对:

ssh-keygen -t rsa -C "sample@yourmail.com"

解释: -t 后面参数表示加密算法(默认使用 rsa),-C 后面参数表示注释(一般记录邮箱)

执行后会询问文件存储位置和密钥短语(passphrase),一路按回车即可。

这个时候应该会在 ~/.ssh/ 生成一对文件 id_rsaid_rsa.pub,表示密钥和公钥。

使用以下命令展示公钥内容:

cat .ssh\id_rsa.pub

image-20240726001824172

公钥文件应该以 加密方式 + 公钥文本 + 注释 的结构出现。整个复制下来即可。

服务器上部署公钥

先用密码等其他方式登录服务器。

身份认证用的公钥储存在 ~/.ssh/authorized_keys 文件里,每行一个公钥。

所以直接用 vim 打开此文件,在最后新起一行,粘贴刚才的公钥文件内容即可。

到这里实际上就可以登录了,但为了安全,我们再修改一下登录配置。

修改登录配置

使用以下命令进入配置文件:

sudo vim /etc/ssh/sshd_config

找到被注释的 #Port 22,取消注释,并修改为任意一个可用的端口。(我选择了 1437)

同时找到以下词条,将后面的 yes/no 修改成如下样式:

PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no

保存后,重启 sshd 服务:

sudo service sshd restart

在阿里云控制台,记得一并添加防火墙规则,同时修改默认登录端口。

登录

这时候,我们就可以在 pwsh 中用 SSH 登录了:

ssh -p 1437 admin@your_server_ip

image-20240726003553884

之后就直接在 pwsh 中登录即可,不再需要打开阿里云网页登录了。

提示

本机最好只留一个密钥对文件,否则在加密的时候不知道使用哪个密钥,导致 Permission Denied(publickey) .

如果确实要使用多个密钥对,需要额外配置:

  1. ssh-keygen 时,设置新的名字,不要覆盖原来的文件(以 ~/.ssh/id_aliyun 为例)。

  2. 使用以下命令将密钥添加到 SSH Agent:

eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_aliyun
  1. 配置 ~/.ssh/config
# Default Aliyun SSH
Host Aliyun # 随意起名,便于记忆即可
    HostName xx.xxx.xxx.xx # 主机公网 IP
    Port 1437
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_aliyun # 指定使用的密钥

# second user(monster@qq.com)
Host githuber
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa
  1. 改用以下命令访问:
ssh admin@Aliyun

评论

  1. 514imb
    Windows Edge
    3 月前
    2024-9-07 19:43:19

    这也太详细了,支持

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇