配置ssh免密码登陆(Centos安装系列3)

来源:互联网 发布:印度人口增长数据 编辑:程序博客网 时间:2024/05/18 12:35

原文:http://www.linuxidc.com/Linux/2013-01/77464.htm

1.环境 

server:192.168.1.126 

client:192.168.10.160

现在要让client实现ssh远程登录server上时不需要密码即可登录
假设用vhdp账号登陆,该账号有sudo权限。

2.方法:

我们使用ssh-keygen在Client上生成private和public密钥,将生成的public密钥拷贝到远程机器Server上后,就可以使用ssh命令无需密码登录到另外一台机器Server上。

在linux系统中,ssh是远程登录的默认工具,因为该工具的协议使用了RSA/DSA的加密算法,该工具做linux系统的远程管理是非常安全的。

3.在Client端上执行

生成密钥:ssh-keygen

这时程序会让你输入密码,直接回车表示不设置密码,并且会在当前目录中生成private和public密钥,分别是id_rsa 、id_rsa.pub。

把公钥文件上传至server端:scp ~/.ssh/id_rsa.pub vhdp@server:/home/vhdp/.ssh/


5.在服务器执行

a.登录服务器:ssh vhdp@server

b.进入ssh目录:cd ~/.ssh

c.生成授权文件:cat id_rsa.pub >> authorized_keys

d.修改ssh配置文件:vim /etc/ssh/sshd_config,去掉RSAAuthentication三行的注释,修改如下:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

e.修改目录和文件权限(非常重要,原理还不明白)

chmod 700 ./.ssh 
chmod 600 ./.ssh/authorized_keys

f.重启ssh服务

        sudo service sshd restart


然后在客户端就可以免密码登录server了:ssh vhdp@server

如果没询问密码并能登录,表示成功了。
如果没有成功,输出测试调试看看是哪里出了问题。
ssh -v vhdp@server 看看这里的信息及/var/log/secure中的日志记录,找出原因。


ps.如果要设置vhdp用户sudo无密码,执行以下操作

visudo

在root ALL=(ALL) ALL下面加一行:

vhdp    ALL=NOPASSWD: ALL





0 0
原创粉丝点击