Windows上远程登录Linux云服务器(SSH)
目录
- 一、前言
- 二、操作
- 1、安装OpenSSH
- 2、登录
- 3、免密登录
- 3.1、在 Windows 生成 SSH 密钥
- 3.2、 复制公钥到 CentOS
- 3.3、修改 SSH 配置
- 3.4、然后重启 SSH 服务:
- 3.5、 在 Windows ~/.ssh/config 文件中添加:
- 3.6、 连接测试
- 4、客户端
一、前言
SSH协议常用于远程登录和安全数据传输(如远程管理服务器、文件传输),因此在Windows上也是用OpenSSH工具来远程登录云服务器的。
注意,当前操作步骤在WIndow11上进行。
二、操作
1、安装OpenSSH
可以在命令行中通过ssh -V
命令判断是否安装了OpenSSH。
如果没有安装,管理员权限打开PowerShell,执行下面命令:
# 卸载
Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Remove-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 安装
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
# 检查是否安装成功
ssh -V
2、登录
通过ssl userName@IP
命令登录云服务器,并输入密码,userName指的是用户名,IP是服务器IP地址或者域名。
3、免密登录
3.1、在 Windows 生成 SSH 密钥
如果你尚未生成 SSH 密钥,可以使用ssh-keygen生成:
打开 PowerShell 或 CMD,运行:
ssh-keygen -t rsa -b 4096
出现提示时:
选择密钥存放路径(默认 C:Users你的用户名.sshid_rsa)
是否设置密码(可选):直接回车表示不设置
3.2、 复制公钥到 CentOS
有几种方式可以复制公钥,当前方法采用手动复制方式。
在 Windows 打开 id_rsa.pub 文件,复制内容:
在 CentOS 运行:
mkdir -p ~/.ssh
echo "(粘贴公钥内容)" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
3.3、修改 SSH 配置
确保 CentOS 允许使用密钥登录,修改 SSH 配置文件:
sudo nano /etc/ssh/sshd_config
确保如下配置:
PubkeyAuthentication yes
PasswordAuthentication no # 可选,禁用密码登录
3.4、然后重启 SSH 服务:
sudo systemctl restart sshd
3.5、 在 Windows ~/.ssh/config 文件中添加:
Host mycentos
HostName CentOS_IP
User 用户名
IdentityFile C:Users你的用户名.sshid_rsa
3.6、 连接测试
在 Windows 运行:
ssh 用户名@IP
如果不再要求输入密码,说明成功!
4、客户端
在Visual Code中安装Remote-SSH插件,可以直接访问到服务器中的文件,同时也能访问命令行。