目录

通过公钥进行ssh连接

这篇文章介绍了使用ssh公钥连接设备的方法

注意
注1、建议使用1.2法二在本地生成密钥。

1 生成密钥

1.1 法一:在设备生成密钥[不推荐]

我们先正常的ssh连接到设备,输入如下命令,然后一直回车,生成密钥。

ssh-keygen -m PEM -t rsa -b 4096

然后我们进入自己家目录下的.ssh文件夹。

cd .ssh

如果输入ls命令可以看到生成了两个文件,id_rsaid_rsa.pubid_rsa.pub就是我们的公钥文件,我们用如下命令将公钥保存在验证文件中。

cat id_rsa.pub >> authorized_keys

然后我们分别授予验证文件和.ssh文件夹对应的读写权限

chmod 600 authorized_keys
chmod 700 ~/.ssh

然后我们将私钥文件id_rsa下载到本地,用我们的ssh工具导入私钥文件,进行连接尝试。  

1.2 法二:在本地生成密钥

我们Win+R再打开的界面输入cmd回车,然后输入如下命令,一直回车生成密钥。

ssh-keygen -m PEM -t rsa -b 4096

然后我们正常ssh连接到设备,然后创建并进入.ssh文件夹

mkdir -p .ssh && cd .ssh

然后创建authorized_keys验证文件

nano authorized_keys

在c盘下的用户文件夹,自己用户名的文件夹,.ssh文件夹,将里面的id_rsa.pub文件右键打开方式,使用记事本打开,将全部内容复制到authorized_keys内,并保存退出。

然后我们分别授予验证文件和.ssh文件夹对应的读写权限

chmod 600 authorized_keys
chmod 700 ~/.ssh

然后我们可以直接断开连接,然后ssh到设备查看是否需要密码,如已经不再需要密码直接连接,公钥即已经配置好了。

我们也可以在任意支持ssh连接的软件导入.ssh文件夹内的私钥文件id_rsa即可实现直接连接。

2 关闭ssh的账号密码登陆

我们尝试公钥连接成功后,我们关闭ssh的密码连接,我们打开ssh的配置文件

sudo nano /etc/ssh/sshd_config

我们找到#PasswordAuthentication yes这行,将其修改为

PasswordAuthentication no

然后保存退出,重启sshd配置生效

sudo service sshd restart

3 结语

到此我们要保存好自己的私钥文件,导入私钥文件后即可链接到ssh。