windows使用ssh(windows 最好 ssh 工具),本文通过数据整理汇集了windows使用ssh(windows 最好 ssh 工具)相关信息,下面一起看看。

  由于格式问题,某些链接和表格可能会无效。如果有,请访问原文。

  密码登录和无密码键登录。

   2021年12月15日

  阅读时长:6分钟

  简介

   Windows终端是新一代的windows终端。在Windows11中,它是默认安装的,只是:

   R win运行wt或右键单击文件管理器中的任意位置,在Windows终端中打开它。

  能唤起。

  目前好像没有对应的快捷键,可以自己设置。

   Windows终端内置了对ssh的支持,因此您可以连接到服务器,而无需安装额外的软件。

  想必openssh是内置的,但不是完整版本,有些命令无法使用。(当然大部分还可以)

  优势:

  系统自带,不需要安装额外的软件。界面美观漂亮,可以自定义支持键实现无密码登录。配置文件好像可以多台设备同步?(个人不太清楚。根据Github上的一个问题,还可以,但是我的好像不同步。)一行代码实现登录。

  打开Windows终端,直接使用:

   User @ IP例如:ssh kerm@52.184。**.**

  建立联系。

  优点是方便,缺点是每次都要输入密码。

  使用密钥登录,不需要密码。

   Windows终端创建密钥的方式与openssh完全相同。

  附件是一个关于openssh密钥创建的教程(和我的一些笔记),来自:SSH Key log inSSH TutorialWebway。

   SSH密钥登录

  默认情况下,SSH使用密码登录。这种方法有许多缺点。简单密码不安全,复杂密码不好记,每次手动输入都很麻烦。密钥登录是比密码登录更好的解决方案。

  关键是什么?

  密钥是一个非常大的数字,它是通过加密算法获得的。对称加密只需要一个密钥,而非对称加密需要两个密钥成对使用,分为公钥和私钥。

   SSH密钥登录使用非对称加密,每个用户使用自己的密钥登录。其中,私钥必须私人保管,不能泄露;公钥是公开的,可以对外发送。它们的关系是公钥和私钥一一对应,每个私钥只有一个对应的公钥,反之亦然。

  如果数据是用公钥加密的,只能用相应的私钥解密,不能用其他密钥解密。反之,如果用私钥加密(这个过程一般称为“签名”),对应的公钥只能用于解密。

  密钥登录的过程

   SSH密钥登录分为以下步骤。

  在最初的步骤中,客户机通过ssh-keygen生成自己的公钥和私钥。

  第一步是手动将客户机的公钥放入远程服务器的指定位置。

  在第二步中,客户机向服务器发起一个SSH登录请求。

  第三步:服务器接收用户的SSH登录请求,向用户发送一些随机数据,并要求用户证明自己的身份。

  第四步:客户端接收服务器发送的数据,用私钥对数据进行签名,然后发送回服务器。

  第五步:从客户端收到加密的签名后,服务器用相应的公钥解密,然后与原始数据进行比较。如果是,则允许用户登录。

   Ssh-keygen命令:生成密钥

  使用密钥登录时,需要先生成一个公钥和一个私钥。OpenSSH提供了一个实用的ssh-keygen命令来生成密钥。

  直接输入ssh-keygen,程序会问一系列问题,然后生成一个密钥。

   $ ssh-keygen

  输入上面的命令后,ssh-keygen会要求用户回答一些问题。

   $ ssh-keygen-t dsa生成公共/私有DSA密钥对。输入保存密钥的文件(/home/username/)。ssh/id_dsa):按Enter键输入密码(空表示没有密码):****** * *再次输入相同的密码:* * * * * *您的身份已保存在/home/username/中。ssh/id_dsa。您的公钥已保存在/home/username/中。关键指纹是: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/empty folder(有一个ssh/folder,这个文件夹是空的),否则会报错。

  然后,会出现第二个问题,询问是否为私钥文件设置密码保护(passphrase)。这样,即使入侵者得到了私钥,他仍然需要破解密码。为方便起见,如果不想设置密码保护,可以直接按Enter键,密码为空。稍后,您将被要求再次输入您的密码。这两个输入必须一致。注意这里“password”的英文单词是passphrase,这是为了避免和Linux账号的密码单词password混淆,表示不是用户系统账号的密码。

  最后会生成私钥和公钥,公钥的指纹,以及当前的用户名和主机名都会作为注释在屏幕上给出,以识别密钥的来源。

  公钥文件和私钥文件都是文本文件。你可以用文本编辑器查看它们的内容。公钥文件的内容类似于以下内容。

   ssh-RSA aaab3n Zac 1 YC 2 eaaaabiwaiaeavbp 4 lubaaebh 9 u 6 hlig 7 amsfywd 4 fqszq 2 ika cuubn 3 gyrpfef 93 l/weqh 702 of xbdydzakmcdbjqrhuotquwqv 6 hjxqqpdpguuyo 8 rdikluipryqypzxmk 9 acxokfihogcxfq 9 imup/w/jfqb 9 by DTG 97 tujf 6 nfmp 5 wzhm=username@shell.isp.com

  在上面的例子中,末尾的username@shell.isp.com是公钥的注释,用来标识不同的公钥,表示这是哪个主机(shell.isp.com)和哪个用户(用户名)的公钥,不是必需的。

   Blogger在使用的时候删除了末尾的评论,所以亲测可以使用。

  请注意,公钥只有一行。因为太长,所以分三行显示。

  手动上传公钥

  生成密钥后,在使用公钥登录之前,必须将公钥上传到服务器。

   OpenSSH规定用户的公钥保存在服务器的~/中。ssh/authorized_keys文件。作为您想要登录到服务器的用户,密钥必须保存在~/中。用户主目录的ssh/authorized_keys文件。只要在这个文件中添加了公钥,就相当于把公钥上传到了服务器上。每个公钥占一行。如果文件不存在,您可以手动创建它。

  用户可以手动编辑该文件,将公钥粘贴到其中,或者在本地计算机上执行以下命令。

   $猫~/。ssh/id _ RSA . pub

   ssh user @ host \ " mkdir-p ~/。ssh猫~/。ssh/授权密钥\ "

  在上面的示例中,user@host应该替换为您想要登录的用户名和主机名。

  注意authorized_keys文件的权限应该设置为644,即只有文件的所有者才能写。如果权限设置不正确,SSH服务器可能会拒绝读取该文件。

   $ chmod 644 ~/。ssh/授权密钥

  只要公钥上传到服务器,下次登录时OpenSSH会自动用该密钥登录,不会提示您输入密码。

   $ ssh-l username shell . ISP . com输入密钥\/home/you/的密码。ssh/id _ DSA \ :* * * * * * * * * * * *最后一次登录:2014年3月24日星期一02:17:27来自ex.ample.comshell.isp.com

  在上面的例子中,在SSH客户端使用私钥之前,它会要求用户输入密码来解锁私钥。

  注意ssh-copy-id不能在Windows终端中使用,只能手动上传。

  密钥创建示例

  附上我的关键创作的例子:

   PS C:users admin ssh-keygen生成公钥/私钥对。输入保存密钥的文件(C:Usersadmin/)。ssh/id _ RSA):C:usersdaminonedrive/。ssh/id _ rsenter pass phrase(空表示没有密码):再次输入相同的密码:您的身份已保存inC:usersdaminonedrive/。ssh/id_rsa。您的公钥已经保存在C:usersdaminonedrive/中。ssh/id _ RSA . pub . key指纹为:* * * * key的随机艺术图像为:* * * * PS C:usersadmin cat C:usersadminonedrive/。ssh/id _ rsa.pub//This步骤显示创建的公钥并复制所有内容。

   Ps:用户管理员ssh kerm @ 52.184。* *.* kerm @ HK1:~ $ sudo-I root @ HK1:~ # mkdir-p ~/。ssh root @ HK1: ~ # nano ~/。ssh/authorized _ keys//将之前复制的公钥粘贴到,因为有多个设备使用这个公钥登录root @ HK1: ~ # chmod644 ~/。ssh/授权密钥

  注:为了实现多终端同步和免密登录,我这里的密钥存储位置选择为OneDrive同步文件夹。不安全,但是方便。

  将登录信息写入配置文件,一键登录。

  您也可以直接编辑配置文件。现在新版本已经提供了GUI,我将直接在GUI中操作。

  导航栏下拉至设置-配置文件-添加新配置文件-创建新的空配置文件。在命令行栏中填入:

   Ssh -i密钥路径user@ip示例:SSH-I C:usersdaminonedrive/。SSH/ID _ RSA root @ 52.184。* * *.* *

  其他参数,如名称和外观,可以参考另一篇文章进行定制。这里就不赘述了。

  保存,下拉导航栏找到对应的配置名,一键连接即可。您也可以使用快捷键:

  影响

  同步问题

  理论上多终端同步是可以的,但是目前我两台电脑上的配置不同步,也不知道是什么原因。

  更多windows使用ssh(windows 最好 ssh 工具)相关信息请关注本站,本文仅仅做为展示!