转自:
https://kermsite.com/p/wt-ssh/
由于格式问题,部分链接、表格可能会失效,若失效请访问原文
密码登录 以及 通过密钥实现免密码登录Dec 15, 2021
阅读时长: 6 分钟
简介windows terminal是新一代Windows终端 。在Windows11中默认安装,只需要:
- win+R运行wt
- 或者在文件管理器任意位置右键在Windows终端中打开
目前似乎没有对应的快捷键,可以自己设定 。
Windows terminal内置支持ssh,无需额外安装软件就可以连接到服务器
推测是内置了openssh不过并不是完整版,有些命令不能使用 。(当然大部分还是可以的)优势:
- 系统自带,无需另外安装软件
- 界面美观好看,可以自定义
- 支持使用密钥,实现免密码登录
- 配置文件似乎可以多设备同步?(个人不太清楚,按照Github上某个issue的说法是可以的,但是我的似乎没有同步)
ssh user@ip例如:ssh kerm@52.184.**.**
进行连接 。好处是方便,坏处是每一次都要输入密码 。
使用密钥登录,免输密码Windows terminal创建密钥的过程和openssh完全相同 。
附上一段openssh密钥创建的教程(以及我的一些笔记),摘自:SSH 密钥登录 - SSH 教程 - 网道
SSH 密钥登录SSH 默认采用密码登录,这种方法有很多缺点,简单的密码不安全,复杂的密码不容易记忆,每次手动输入也很麻烦 。密钥登录是比密码登录更好的解决方案 。
密钥是什么密钥(key)是一个非常大的数字,通过加密算法得到 。对称加密只需要一个密钥,非对称加密需要两个密钥成对使用,分为公钥(public key)和私钥(private key) 。
SSH 密钥登录采用的是非对称加密,每个用户通过自己的密钥登录 。其中,私钥必须私密保存,不能泄漏;公钥则是公开的,可以对外发送 。它们的关系是,公钥和私钥是一一对应的,每一个私钥都有且仅有一个对应的公钥,反之亦然 。
如果数据使用公钥加密,那么只有使用对应的私钥才能解密,其他密钥都不行;反过来,如果使用私钥加密(这个过程一般称为“签名”),也只有使用对应的公钥解密 。
密钥登录的过程【Windows Terminal:SSH连接远程服务器】SSH 密钥登录分为以下的步骤 。
预备步骤,客户端通过ssh-keygen生成自己的公钥和私钥 。
第一步,手动将客户端的公钥放入远程服务器的指定位置 。
第二步,客户端向服务器发起 SSH 登录的请求 。
第三步,服务器收到用户 SSH 登录的请求,发送一些随机数据给用户,要求用户证明自己的身份 。
第四步,客户端收到服务器发来的数据,使用私钥对数据进行签名,然后再发还给服务器 。
第五步,服务器收到客户端发来的加密签名后,使用对应的公钥解密,然后跟原始数据比较 。如果一致,就允许用户登录 。
ssh-keygen命令:生成密钥密钥登录时,首先需要生成公钥和私钥 。OpenSSH 提供了一个工具程序ssh-keygen命令,用来生成密钥 。
直接输入ssh-keygen,程序会询问一系列问题,然后生成密钥 。
$ ssh-keygen
输入上面的命令以后,ssh-keygen会要求用户回答一些问题 。$ ssh-keygen -t dsaGenerating public/private dsa key pair.Enter file in which to save the key (/home/username/.ssh/id_dsa):press ENTEREnter passphrase (empty for no passphrase): ********Enter same passphrase again: ********Your identification has been saved in /home/username/.ssh/id_dsa.Your public key has been saved in /home/username/.ssh/id_dsa.pub.The key fingerprint is:14:ba:06:98:a8:98:ad:27:b5:ce:55:85:ec:64:37:19 username@shell.isp.com
上面示例中,执行ssh-keygen命令以后,会出现第一个问题,询问密钥保存的文件名,默认是~/.ssh/id_dsa文件,这个是私钥的文件名,对应的公钥文件~/.ssh/id_dsa.pub是自动生成的 。用户的密钥一般都放在主目录的.ssh目录里面 。注意所用目录应该是一个已经存在的.ssh/空文件夹(有ssh/文件夹,这个文件夹里面是空的),否则会报错 。接着,就会是第二个问题,询问是否要为私钥文件设定密码保护(passphrase) 。这样的话,即使入侵者拿到私钥,还是需要破解密码 。如果为了方便,不想设定密码保护,可以直接按回车键,密码就会为空 。后面还会让你再输入一次密码,两次输入必须一致 。注意,这里“密码”的英文单词是 passphrase,这是为了避免与 linux 账户的密码单词 password 混淆,表示这不是用户系统账户的密码 。
推荐阅读
- Windows 11 Build 22523发布,更多选项从控制面板移至设置
- Windows Server 2022 中的 Hyper-V 增强功能
- Windows11都出来了,XP和Windows7真的被淘汰了吗
- Windows10系统网络安装部署
- windows8笔记本连接wifi受限怎么办,笔记本无法连接无线网络
- 通过windows的CMD终端查看WIFI密码
- windows下通过多网卡和路由实现同时在多网络环境工作
- Windows命令行包管理工具scoop使用教程
- 使用 MDT 下载部署 Windows 11 局域网批量安装252台
- 如何在Rescue模式下配置网络和SSH登录