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中已经有记录,打开文件删除对应记录即可。

You may also like...

发表回复

您的电子邮箱地址不会被公开。