一直以来,我都是用txt文本格式来记录服务器的密码,很繁琐,也很麻烦,最近经大佬们指导,学会了Xshell生成了密钥对,并配置服务器开启密钥登陆,并禁止root用户远程登陆。
1、Xshell生成密钥对:
这是公钥,需要上传至服务器的,请保存并命名为id_rsa_2048.pub,后缀名为pub,千万不要丢失。
这是私钥,用于远程密钥登陆服务器用的,请导出并命名为id_rsa_2048,没有后缀名保存好,千万不要丢失。
2、上面已经生成了公钥和密钥,把公钥id_rsa_2048.pub上传到服务器的/root/.ssh/文件夹下,并重命名为authorized_keys,如果没有.ssh文件夹就新建.ssh文件夹。
###安装 lrzsz,支持服务器上传下载,小文件或者内网大文件都很方便,远程大文件不推荐
[root@HKcdn001 .ssh]# yum install lrzsz -y
[root@HKcdn001 .ssh]# pwd
/root/.ssh
###命令:rz本地上传到服务器,sz服务器下载到本地
[root@HKcdn001 .ssh]# rz
[root@HKcdn001 .ssh]# ll
total 4
-rw-r--r-- 1 root root 380 May 22 23:22 id_rsa_2048.pub
###把公钥重命名为authorized_keys
[root@HKcdn001 .ssh]# mv id_rsa_2048.pub authorized_keys
[root@HKcdn001 .ssh]# ll
total 4
-rw-r--r-- 1 root root 380 May 22 23:22 authorized_keys
###至此公钥已经上传至服务器。
3、配置服务器sshd_config文件,支持密钥登陆:
[root@HKcdn001 .ssh]# vi /etc/ssh/sshd_config
#端口号建议修改,并把#号去掉
Port 22
###认证的公钥文件/root目录下,没有可以新建.ssh文件,或者可以修改此行指定你配置的公钥目录
AuthorizedKeysFile .ssh/authorized_keys
###开启密钥登陆
RSAAuthentication yes
PubkeyAuthentication yes
###禁止root密码登陆,如果PubkeyAuthentication和PasswordAuthentication都是yes,那么支持密码和密钥两种方式登陆
PermitRootLogin yes
PasswordAuthentication no
###重启sshd服务
[root@HKcdn001 .ssh]# systemctl restart sshd
###修改authorized_keys权限为600
[root@HKcdn001 .ssh]# chmod -R 600 *
4、配置完成以后,可以用Xshell远程用密钥登陆服务器
5、配置服务器A到服务器B的密钥登陆,只需要上传私钥id_rsa_2048至服务器A的/root/.ssh文件夹下,重命名为id_rsa,建议用完删除id_rsa,以防服务器A被攻破,可以登陆服务器B。
[root@HKcdn001 .ssh]# rz
[root@HKcdn001 .ssh]# ll
total 8
-rw-r--r-- 1 root root 380 May 22 23:22 authorized_keys
-rw-r--r-- 1 root root 1675 May 22 23:46 id_rsa_2048
[root@HKcdn001 .ssh]# mv id_rsa_2048 id_rsa
[root@HKcdn001 .ssh]# ll
total 8
-rw-r--r-- 1 root root 380 May 22 23:22 authorized_keys
-rw-r--r-- 1 root root 1675 May 22 23:46 id_rsa
###修改authorized_keys和id_rsa权限为600
[root@HKcdn001 .ssh]# chmod -R 600 *
还没有任何评论,你来说两句吧