SSH私钥登录
首先,本地需要装有ssh工具。
- git-bash
- win10自带的openssh
- 设置-应用和功能-管理可选功能,添加功能,找到OpenSSH-Server(Client也行,Server包含了Client,而且之后也可能用到Server功能,比较推荐Server)
- 安装完之后,要用管理员运行CMD或者PowerShell
- 启动服务的命令:
net start sshd
- 停止服务的命令:
net stop sshd
安装好了之后,配置方法都是一样的
生成密钥
cd到这个位置
C:/Users/(你的用户名)/.ssh/
执行命令,邮箱可以填自己喜欢的
ssh-keygen -t rsa -C "youremail@example.com"
提示输入文件名,可以输入
id_rsa
提示输入密码,如果想要免密登录,敲两次空格即可
执行完之后,会生成两个文件
- id_rsa
- id_rsa.pub
其中,id_rsa是私钥,另一个是公钥。
配置公钥
登录到对应的用户
cd ~
chmod 700 ~/.ssh
mkdir .ssh
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
vim .ssh/authorized_keys
将id_rsa.pub文件里面的内容全部复制进去,保存退出
当然,也可以使用ftp工具,或者宝塔工具等等,方法很多,达成目的即可。
配置SSHD
vim /etc/ssh/sshd_config
修改以下内容
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
# 当你验证了可以使用私钥访问时,可以关闭密码登录
PasswordAuthentication no
保存退出之后,重启sshd服务
systemctl restart sshd
验证
在本机直接ssh过去。
如果提示在known_hosts中已经有记录,打开文件删除对应记录即可。