Linux ssh免密登录

本文详细介绍如何在Linux环境下配置从服务器A到服务器B的SSH免密登录过程。包括生成密钥对、设置公钥、调整文件权限及重启SSH服务等关键步骤。

linux跨服务器命令调用(scp,ssh等)都需要输入密码, 为了使一键安装脚本能够更顺畅, 设置免密登录是必要的. 下面列出步骤(参考自: 来源):

主要原理

  1. A上创建一对公私钥 (公钥文件:~/.ssh/id_rsa.pub; 私钥文件:~/.ssh/id_rsa)。
  2. 把公钥放到B的(~/.ssh/authorized_keys)文件中, 自己保留好私钥.
  3. 在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配.如果匹配成功就可以登录了。

步骤

假设 服务器A 要免密登录 服务器B

在服务器A上:
  1. ssh-keygen -t rsa -P " " 直接回车生成密钥对:id_rsa和id_rsa.pub

  2. 把id_rsa.pub追加到授权的key里面去(.ssh/authorized_keys)

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  1. 修改authorized_keys的权限为600(-rw-------)
chmod 600 ~/.ssh/authorized_keys
  1. 修改ssh配置文件,去掉如图中的三行注释(约第48行)
vim /etc/ssh/sshd_config

这里写图片描述
5. 重启ssh服务,测试链接

service sshd restart
ssh localhost #查看连接本机是否成功
  1. A机器上密钥对已做好,且ssh也配置好.现在把公钥发送给服务器B
scp ~/.ssh/id_rsa.pub root@服务器B的ip:~/ #把id_rsa.pub发送到B的/root目录下
服务器B上:
  1. 登录B, 把发送过来的id_rsa.pub追加到authorized_keys 上(注意chmod 700 .ssh权限)
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys  #追加公钥到授权key中
rm ~/id_rsa.pub  #保险起见,删除公钥
  1. 重复上述 第3和第4步: 修改权限,去掉注释, 然后重启ssh服务

回到A上 , ssh B的ip 应该可以了

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值