Linux使用.pem文件实现免密登录

it2022-05-05  141

因项目需要将本机文件拷贝至远程机器,首先想到的是使用ganymed-ssh2依赖包模拟scp将文件进行远程拷贝(关于ganymed-ssh2依赖包的使用,本博文不做详细描述)。为了实现免密远程拷贝,根据接口文档描述需要pem文件,由此学习.pem的配置使用。

1.在远程机器生成.pem文件

生成密钥对:

$ ssh-keygen -t rsa -b 2048 -v

查看生成的密钥对:

$ ls ~/.ssh/

将私钥重命名至id_rsa.pem:

$ mv ~/.ssh/id_rsa ~/.ssh/id_rsa.pem

修改~/.ssh/目录权限:

$ chmod 700 ~/.ssh/

将id_rsa.pub文件内容重定向至authorized_keys文件:

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

修改authorized_keys文件权限:

$ chmod 600 ~/.ssh/authorized_keys

2.修改远程服务器配置

使用编辑器(vim)打开配置文件

$ sudo vim /etc/ssh/sshd_config

修改完成后如下:

重启ssh服务:

$ sudo service sshd restart

3.本机免密登录远程机器

将id_rsa.pem文件拷贝至本机,免密登录:

$ ssh -i id_rsa.pem remote-username@remote-ip

例如:

$ ssh -i id_rsa.pem ubuntu@192.168.0.11

同时,可以在使用ganymed-ssh2依赖包模拟scp远程拷贝时使用id_rsa.pem文件进行鉴权。

参考:

HOW TO GENERATE PEM FILE TO SSH THE SERVER WITHOUT PASSWORD IN LINUX


最新回复(0)