SSH免密登录的方法

Step 1 sudo nano /etc/ssh/sshd_config

PubkeyAuthentication yes

指定公钥数据库文件
AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication yes 改为
PasswordAuthentication no

Step 2 sudo /etc/init.d/ssh restart

ps : 服务器上密钥文件必须为类似(.ssh/authorized_keys):

ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiaRKegTPj5HxoyW0z8dHeUdfpfxkyQpFcyCA0fMxrESuTMYAQnTGo0evTrDr/5qaHSXropdVzcFdtpnwZHGwFpoRmCL1rVEbBV6fc1T26vHmKSyDJ0oJhObwcWUWI5bUuAxdo2VAfbGVAcb8EvWdHt7Yw3cQRU7OvoFUT8W1QDdui1s0/CMPkZ+FcFVzwh2NUFhUQ4tUzkHpCuFQWdnxkdvWyOapaZuf+KmR8TTrhtH0RmjTsnGRntogDb/K/RsBsFg5VTuasKIKdEK7ZN1mmW7sGU1k96JCaDYFdZ2qrdckydVofoMVqs7OGxd39MZ74s6UhcFbqB8LT4l/gigZ/Q== rsa-key-20210507

Linux 生成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文件拷贝至本机(使用某些FTP工具无法开发.ssh文件,可使用cp命令复制)。

方法2

ssh通过pem文件登陆服务器

一些为了安全操作,推荐使用私钥进行登录服务器,拿jenkins来说,默认的验证方式就是私钥

实现方式
先在本机通过ssh-keygen直接生成公私钥

如下在当前文件夹下生成my.pem(私钥)和my.pem.pub(公钥)

ssh-keygen -t rsa -f my.pem -C "[email protected]"

参数说明:-t type密钥类型(rsa、dsa...),-f生成文件名,-C备注

将my.pem.pub内容上传至你需要连接的服务器

操作步骤,编辑authorized_keys文件,路径在当前用户目录下的.ssh文件夹下

将生成的pub文件的内容追加到authorized_keys文件中

保存退出之后就可以通过ssh -i file [email protected]访问了

0
封面图

评论0

没有账号? 注册  忘记密码?