Mac和Windows10配置ssh免密码登录


title: Mac和Windows10配置ssh免密码登录

ssh使用密码登录,每次都需要输入密码,非常麻烦。好在SSH提供了公钥登录,可以省去输入密码的步骤。

所谓公钥登录,原理很简单,就是用户将自己的公钥储存在远程主机上, 私钥存储在用户本地电脑。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。

这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen生成一个

生成公钥私钥

ssh-keygen

image-20200612102041225

v2fy.com.pub是公钥,需要将信息发送到远程主机

v2fy.com是私钥, 在原位置就好

将公钥发送到远程主机

ssh-copy-id -i ~/.ssh/v2fy.com root@主机ip或域名

本地私钥配置指向到特定服务器

本地创建~/.ssh/config 文件,并给出600权限

touch ~/.ssh/config
chmod 600 ~/.ssh/config

~/.ssh/config中写入以下内容

Host 主机ip或域名
HostName 主机ip或域名
User root
IdentityFile ~/.ssh/v2fy.com

最终效果

2020-06-12-0006

在Windows平台免密登录

Windows10目前已经正式支持Linux子系统, 可以使用Windows10自带的Microsoft Store一键安装Linux子系统Ubuntu, 安装链接, Ubuntu可以按照上面的方法生成秘钥, 然后把.ssh 目录下生成好的私钥文件, config, known_hosts直接拷贝到Windows10用户的.ssh目录

image-20200612112538397

然后,我们可以使用Windows自带的 PowerShell直接登录

2020-06-12-111111

小结

懒是第一生产力, 有了ssh秘钥认证, 以后登录服务器可以不用输密码了, 使用scp等基于ssh的命令也无需输入密码, Nice!

本文永久更新地址(欢迎来读留言,写评论):

https://www.v2fy.com/p/kr-000044