linux公钥

注意:需要关闭selinux,以及文件权限




在两台linux主机上由于环境的需要,经常要配置两台主机之间免密码登录,这就要用到key认证,也就是所谓的公私钥认证。便于理解,我这里指定两台主机为 A 和 B 。如果A主机想免密码登录到B主机上,则A主机上存放私钥,B 主机上存放公钥。通过ssh-keygen 命令生成的两个文件为:公钥文件 ~/.ssh/id_rsa.pub; 私钥文件 ~/.ssh/id_rsa 。而B主机上存放公钥时,需要将id_rsa.pub的内容存放到~/.ssh/authorized_keys 文件内,并且保证权限为600 。

一、生成和导入KEY

A主机上生成key

 
 
  1. $ ssh-keygen -t rsa
  2. $ ls
  3. id_rsa id_rsa.pub

将key导入到远程的B主机上,并修改权限

 
 
  1. A主机上操作
  2. $ cat /root/.ssh/id_rsa.pub | ssh root@远程服务器ip 'cat - >> ~/.ssh/authorized_keys'
  3. B主机上操作
  4. $ chmod 600 ~/.ssh/authorized_keys

不过还有更简单的方法,不需要在B主机上再修改权限 ,而直接将公钥内容导入到远程主机上,使用ssh-copy-id命令,如下:

 
 
  1. $ ssh-copy-id -i /root/.ssh/id_rsa root@xxx,xxx,xxx,xxx

二、配置sshd_config

配置完key后,需要在sshd_config文件中开启key认证

 
 
  1. $ vim /etc/ssh/sshd_config
  2. PubkeyAuthentication yes //将该项改为yes

修改完成后,通过/etc/init.d/sshd restart 重启ssh服务重新加载配置。如果想要禁用密码认证,更改如下项:

 
 
  1. $ vim /etc/ssh/sshd_config
  2. UsePAM yes
  3. UserPAM no

更多配置参数及其意义,可以通过man sshd_config 查看。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值