Mac和Windows10配置ssh免密码登录
title: Mac和Windows10配置ssh免密码登录
ssh使用密码登录,每次都需要输入密码,非常麻烦。好在SSH提供了公钥登录,可以省去输入密码的步骤。
所谓公钥登录,原理很简单,就是用户将自己的公钥储存在远程主机上, 私钥存储在用户本地电脑。登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
这种方法要求用户必须提供自己的公钥。如果没有现成的,可以直接用ssh-keygen
生成一个
生成公钥私钥
ssh-keygen
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
最终效果
在Windows平台免密登录
Windows10目前已经正式支持Linux子系统, 可以使用Windows10自带的Microsoft Store一键安装Linux子系统Ubuntu, 安装链接, Ubuntu可以按照上面的方法生成秘钥, 然后把.ssh
目录下生成好的私钥文件
, config
, known_hosts
直接拷贝到Windows10用户的.ssh
目录
然后,我们可以使用Windows自带的 PowerShell
直接登录
小结
懒是第一生产力, 有了ssh秘钥认证, 以后登录服务器可以不用输密码了, 使用scp等基于ssh的命令也无需输入密码, Nice!
发表回复