通过公钥进行ssh连接
目录
这篇文章介绍了使用ssh公钥连接设备的方法
注意
注1、建议使用1.2法二在本地生成密钥。
1 生成密钥
1.1 法一:在设备生成密钥[不推荐]
我们先正常的ssh连接到设备,输入如下命令,然后一直回车,生成密钥。
ssh-keygen -m PEM -t rsa -b 4096
然后我们进入自己家目录下的.ssh
文件夹。
cd .ssh
如果输入ls
命令可以看到生成了两个文件,id_rsa
和id_rsa.pub
,id_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。