windows10开启ssh服务 windows自带的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 混淆,表示这不是用户系统账户的密码 。
最后,就会生成私钥和公钥,屏幕上还会给出公钥的指纹,以及当前的用户名和主机名作为注释,用来识别密钥的来源 。
公钥文件和私钥文件都是文本文件,可以用文本编辑器看一下它们的内容 。公钥文件的内容类似下面这样 。
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEAvpB4lUbAaEbh9u6HLig7amsfywD4fqSZq2ikACIUBn3GyRPfeF93l/weQh702ofXbDydZAKMcDvBJqRhUotQUwqV6HJxqoqPDlPGUUyo8RDIkLUIPRyqypZxmK9aCXokFiHoGCXfQ9imUP/w/jfqb9ByDtG97tUJF6nFMP5WzhM= username@shell.isp.com 上面示例中,末尾的username@shell.isp.com是公钥的注释,用来识别不同的公钥,表示这是哪台主机(shell.isp.com)的哪个用户(username)的公钥,不是必需项 。
博主在使用时删除了末尾的注释,亲测可以使用
注意,公钥只有一行 。因为它太长了,所以上面分成三行显示 。
手动上传公钥 【windows10开启ssh服务 windows自带的ssh工具是干什么的】

推荐阅读