CentOS下SSH免密码登录的配置

[b]大致流程:[/b]

1.在客户机创建一对密钥文件,包括公钥文件(~/.ssh/id_rsa.pub),私钥文件(~/.ssh/id_rsa).

2.把公钥放到服务器上(~/.ssh/authorized_keys),在使用ssh登录时,ssh程序会发送私钥去和服务器上的公钥做匹配。如果匹配成功就可以免密码登录了

[b]准备工作(root权限):[/b]

1.检查ssh是否安装

# rpm -qa | grep ssh

如若安装显示如下:

openssh-clients-5.3p1-81.el6.x86_64
openssh-5.3p1-81.el6.x86_64
openssh-server-5.3p1-81.el6.x86_64
libssh2-1.2.2-7.el6_2.3.x86_64

2.如果没安装,安装ssh

# yum install -y openssh-server openssh-clients

3.验证安装成功

# ssh -V

4.修改ssh配置

使用root登录修改配置文件:/etc/ssh/sshd_config,将以下的注释去掉,如下:

Port 22

HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

IgnoreRhosts yes

5.重启ssh服务

# service sshd restart

[b]创建普通用户:[/b]

1.创建用户

# useradd hadoop

2.设置密码

# passwd hadoop

3.切换为普通用户

# su - hadoop


[b]配置SSH:[/b]

1.生成公钥和私钥

# ssh-keygen -t rsa

# cd .ssh

# ls

在.ssh目录生成两个文件:
id_rsa :私钥
id_rsa.pub :公钥


2.导入公钥到认证文件,更改权限

切换为root用户

# su - root

2.1 导入本机

根据配置文件/etc/ssh/sshd_config中的AuthorizedKeysFile项的取值:.ssh/authorized_keys,公钥需要导入到该文件中才能实现校验

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

# chmod 600 authorized_keys

2.2 导入要免密码登录的服务器
首先将公钥复制到服务器

# scp ~/.ssh/id_rsa.pub xxx@host:/home/id_rsa.pub

然后,将公钥导入到认证文件(这一步的操作在服务器上进行)

#cat /home/id_rsa.pub >> ~/.ssh/authorized_keys

注意:如果你想要每台机子都免密码登录,那么把每台机子产生的公钥都添加到authorized_keys文件中


2.3 在服务器上更改权限
# chmod 700 ~/.ssh
# chmod 600 ~/.ssh/authorized_keys


[b]注意:[/b]
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值