ssh免密码快速登录配置
使用ssh登录服务器的时候,需要输入ip地址、端口、用户名、密码等信息,比较麻烦,容易输错。还好,通过客户端和服务器的配置参数,可实现免密码快速登录。服务器可通过保存客户端的公钥,用于验证客户端的身份,从而省去输入密码的步骤。客户端也可通过配置服务器参数来简化登录命令。
本文主要是记录了ssh面密码快速登录的配置过程,主要分为以下几个步骤。
- 客户端生成密钥,包括私钥和公钥。
- 在服务器中配置客户端的公钥。
- 在客户端配置服务器登录相关参数。
本文示例中的服务器ip地址为192.168.1.1,ssh端口为22。
客户端生成密钥
客户端生成密钥的方法很简单,只需要使用ssh-keygen命令。
ssh-keygen -t rsa
生成密钥过程中,建议采用默认值,只需要按三次回车之后,就会再~/.ssh目录下生成密钥文件,其中,id_rsa为私钥,id_rsa.pub为公钥。
服务器配置
服务器的~/.ssh/authorized_keys文件保存可快速连接的客户端的公钥。只需把客户端生成的id_rsa.pub文件的内容拷贝到authorized_keys文件的末尾。拷贝的方法有:
- 直接拷贝。由于id_rsa.pub和authorized_keys都是文本文件,可通过拷贝命令直接拷贝。
- 把id_rsa.pub上传到服务器,然后再把内容添加到authorized_keys文件中。
在客户端把文件上传到服务器的用户目录的操作命令如下:
scp ~/.ssh/id_rsa.pub root@192.168.1.1:
在服务器操作的命令如下:
cat id_rsa.pub >> ~/.ssh/authorized_keys
配置好之后,登录服务器就不再需要密码了。
在客户端配置服务器登录相关参数
除了密码之外,登录时,还需要配置ip地址、端口、用户等信息,也比较繁琐。可通过客户端的~/.ssh/config配置服务器的相关参数简化登录命令。
config文件的配置内容如下:
Host server Hostname 192.168.1.1 Port 22 User bingoli
其中,Host为服务器的名称,输入登录命令时使用,后续登录只需要记住这个名字就可以;Hostname为服务器的ip地址;Port为ssh的端口;User为服务器的用户名。配置好相关参数之后,就可以使用简化的命令登录服务器了。
ssh server
从此以后,登录服务器就简单多了。
关于作者
欢迎关注作者微信公众号:程序员bingo
原文地址:https://www.cnblogs.com/bingoli/p/10567734.html