欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

如何在Mac和Windows 10上设置SSH无密码登录?

最编程 2024-08-03 12:49:33
...

 

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

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

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

生成公钥私钥

  •  
ssh-keygen

 

Mac和Windows10配置ssh免密码登录_Mac和Windows10image-20200612102041225

 

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

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

将公钥发送到远程主机

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

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

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

  •  
touch ~/.ssh/configchmod 600 ~/.ssh/config

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

  •  
Host 主机ip或域名HostName 主机ip或域名User rootIdentityFile ~/.ssh/v2fy.com

最终效果

 

Mac和Windows10配置ssh免密码登录_Mac和Windows10_022020-06-12-0006

 

在Windows平台免密登录

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

 

Mac和Windows10配置ssh免密码登录_Mac和Windows10_03image-20200612112538397

 

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

 

Mac和Windows10配置ssh免密码登录_Mac和Windows10_042020-06-12-111111

 

小结

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

引用链接

[1] 安装链接: https://www.microsoft.com/store/productId/9NBLGGH4MSV6

 

 

 

 

 

 

 

 

 

Mac和Windows10配置ssh免密码登录_Mac和Windows10_05