在Windows 10中使用SSH远程连接服务器(附花生壳操作方法)

SSH 在 linux 中是一种重要的系统组件,用户可以使用 SSH 来远程连接 linux 系统的计算机,或者传输文件。不过在 win10 以前,windows 并不原生支持 SSH,需要借助第三方工具来使用 SSH 功能。而实际上,微软在 2015 年就曾经宣布要在 Windows 中内置 SSH 功能,不过可惜的是后来一直没什么动静。不过最新的 windows 已经开始提供了 Openssh 功能。下面讲讲在CMD中使用SSH连接你的Linux主机。(以下主要是在win10电脑中的操作)

1 . 安装 OpenSSH 组件

点击 WIN 键 ,进入 设置 > 应用和功能 > 管理可选功能

如果列表内未发现有 OpenSSH 客户端 ,继续点击添加功能,选中 OpenSSH 客户端,安装即可。如果已安装 OpenSSH 客户端 ,进行下一步。

2 创建空文件夹

在以下路径(C:\Users\user)创建文件夹,并命名为.ssh

3 创建SSH密钥

Win 键 + R,输入 CMD 打开 CMD 窗口 ,使用 CMD 创建一个SSH密钥用于连接到你的 VPS

  • 执行命令 cd .ssh 进入创建的空文件夹
  • 执行命令 ssh-keygen 生成一个密钥

Enter file in which to save the key (C:\Users\Leah/.ssh/id_rsa): #设置密钥的文件名,必须设置为id_rsa (直接复制过去即可,不要修改"id"两个字母!)

Enter passphrase (empty for no passphrase): #设置密钥的密码,直接回车为不设置(设置的密钥会隐藏显示)

Enter same passphrase again: #再输入一遍密码,未设置密码直接回车

打开C:\Users\user\.ssh,即可找到刚才生成的两个文件(后缀为 pub 和一个无后缀文件),pub 后缀的文件是服务器需要用到的,无后缀的文件客户端连接服务器时需要用到。

将pub文件发给服务器的管理员。

4 通过命令行进入服务器

得到管理员已上传的回复后,打开CMD 窗口。

  • 执行命令 ssh lab8888@41hz57.wip.vip -p 55811 进入服务器

其中lab8888 为用户名,41hz57.wip.vip 是服务器的 IP 地址, -p 55811 是通过 55811 端口连接。

如要简化指令,可以配置config文件(注意,无后缀,记事本编辑)

现在只需要在命令行中输入:ssh mylab 即可连接。

5 使用S SH 命令打开 jupyter notebook

执行命令 sudo -s

输入认证密码:******

执行命令 jupyter notebook --allow-root

即可打开网页

Q&A

问题1:如需在内网服务器安装花生壳软件,请参见以下链接

花生壳内网穿透教程(图文并茂)-CSDN博客

花生壳内网穿透:

  1. 内网和外网:内网指的是局域网,例如你家里或办公室中的网络。外网是指连接到因特网的网络。
  2. NAT(网络地址转换):大多数家庭和办公室网络都使用了NAT技术来允许多个设备共享一个公共IP地址。NAT将内部网络中的设备与外部网络隔离,并为它们分配局域网IP地址。这意味着内网设备通常无法从外部网络直接访问。
  3. 内网穿透原理:内网穿透技术允许通过在外网上建立一个与内网设备相关联的通道来绕过NAT,使得内网设备可以被外部网络访问。花生壳通过使用一对服务端和客户端软件实现内网穿透。
  4. 服务端软件:花生壳服务端软件在内网中运行,并与路由器进行通信。它通过与路由器建立一个虚拟的外部端口,将外部网络中的访问请求转发到内网设备上。
  5. 客户端软件:花生壳客户端软件运行在需访问内网设备的外部网络中。当你想要访问内网设备时,客户端软件会与服务端软件建立连接,并发送请求。
  6. 端口映射:服务端软件使用端口映射技术将外部网络的访问请求转发到内网设备上的指定端口。例如,你可以将外部网络上的80端口请求映射到内网设备上的HTTP服务器上的80端口。
  7. 数据传输:一旦建立了连接,并进行了端口映射,外部网络中的请求就会通过服务端软件被转发到内网设备上。内网设备返回的数据也通过服务端软件传递回外部网络。
  8. 穿透方式:花生壳提供三种主要的内网穿透方式:TCP穿透、UDP穿透和HTTP代理。用户可以根据实际需求选择不同的穿透方式。( UDP映射类型已下架)

Tutorial on basic SSH and Jupyter Notebook - Icarus's Wings - A blog of oracleyue

问题2:管理员需要把公钥放在服务器的哪个位置?

服务器中的目录地址为:~/.ssh/authorized_keys

①可以直接把.pub文件放在.ssh文件夹中;

②也可以把具体的公钥内容放在authorized_keys中(vim编辑即可)。

相关推荐
网硕互联的小客服2 小时前
未来趋势:AI与量子计算对服务器安全的影响
运维·服务器·网络·网络安全·量子计算
黑客老李2 小时前
EDUSRC:智慧校园通用漏洞挖掘(涉校园解决方案商)
服务器·前端·网络·安全·web安全
宇钶宇夕2 小时前
STEP 7 MicroWIN SMART V2.2 的详细安装步骤及注意事项
运维·服务器·程序人生·自动化
czhc11400756633 小时前
Linux 77 FTP
linux·运维·服务器
張萠飛3 小时前
Linux中程序的limits中的Max open files的配置由哪些参数决定
linux·运维·服务器
1024小神4 小时前
tauri项目在windows上的c盘没有权限写入文件
c语言·开发语言·windows
程序视点12 小时前
Window 10文件拷贝总是卡很久?快来试试这款小工具,榨干硬盘速度!
windows
wuk99813 小时前
基于MATLAB编制的锂离子电池伪二维模型
linux·windows·github
lzb_kkk13 小时前
【C++】C++四种类型转换操作符详解
开发语言·c++·windows·1024程序员节
snoopyfly~15 小时前
Ubuntu 24.04 LTS 服务器配置:安装 JDK、Nginx、Redis。
java·服务器·ubuntu