linux公钥 还需要密码,centos配置ssh免密码登录后仍要输入密码的解决方法

前言

在搭建Linux集群服务的时候,主服务器需要启动从服务器的服务,如果通过手动启动,集群内服务器几台还好,要是像阿里1000台的云梯Hadoop集群的话,轨迹启动一次集群就得几个工程师一两天时间,是不是很恐怖。如果使用免密登录,主服务器就能通过程序执行启动脚步,自动帮我们将从服务器的应用启动。而这一切就是建立在ssh服务的免密码登录之上的。所以要学习集群部署,就必须了解Linux的免密码登录。

第一步:在本机中创建秘钥

1、执行命令:

ssh-keygen -t rsa -C "[email protected]"

(随便编个字符串,一般用邮箱)

2、之后一路回车就行啦;会在~(home)目录下中产生.ssh(隐藏)文件夹;

3、里面有两个文件id_rsa(私钥)、id_rsa.pub(公钥)文件

注意事项:

①在liunx环境下,要想复制公钥或是私钥,不要使用vim等编辑器打开文件来复制粘贴;

因为它会产生不必要的回车。

②应该使用cat把内容打印到终端上再来复制粘贴;

第二步:用 ssh-copy-id 把公钥复制到远程主机上

把秘钥拷贝到远程服务器

用这种方式拷贝使用的端口是Linux默认的22,如果你想指定端口,可以使用:

ssh-copy-id -i /用户名/.ssh/id_rsa.pub '-p 端口号 [email protected]'

ssh-copy-id -i /root/.ssh/id_rsa.pub '-p 22222 [email protected]'

这里可能需要等一段时间,反正我是等了挺久的时间,然后显示要你输入密码:

输入完密码后,显示:

Now try logging into the machine, with "ssh '-p 22222 [email protected]'", and check in:

.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

表示成功了!

第三步: 远程登入

[[email protected] ~]$ ssh [email protected]

Last login: Mon Oct 10 14:18:54 2016 from 192.168.161.135

ssh [email protected] -p 22222

注意

遇到的大坑:

配置ssh免密码登录后,仍提示输入密码

解决方法:

首先我们就要去查看系统的日志文件

tail /var/log/secure -n 20

发现问题的所在:Authentication refused: bad ownership or modes for file

从字面上可以看出是目录的属主和权限配置不当,查找资料得知:SSH不希望home目录和~/.ssh目录对组有写权限,通过下面几条命令改下

chmod g-w /home/zhangming

chmod 700 /home/zhangming/.ssh

chmod 600 /home/zhangming/.ssh/authorized_keys

然后我们再去登录,就能不用密码进入了。

有木有很高兴呀!

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

参考:[http://blog.csdn.net/u013066244/article/details/52796341]

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是CentOS 6.5配置SSH并进行使用的教程: 1. 首先,确保您已经安装了OpenSSH服务器和客户端。如果没有安装,可以使用以下命令进行安装: ``` yum install openssh-server openssh-clients ``` 2. 确认SSH服务已经启动: ``` service sshd status ``` 如果服务未启动,则可以使用以下命令启动服务: ``` service sshd start ``` 3. 配置SSH服务: 默认情况下,SSH服务已经配置为允许基于密码的身份验证。但是,为了提高安全性,我们建议您使用基于密的身份验证。为此,请按照以下步骤操作: 3.1 生成SSH: ``` ssh-keygen -t rsa ``` 提示输入文件名和密码时,您可以直接按Enter键,不输入任何内容,直到出现“Enter passphrase (empty for no passphrase)”的提示,再次按Enter键即可。 3.2 将复制到远程主机: ``` ssh-copy-id user@remote_host ``` 请将“user”替换为您要连接的远程主机的用户名,“remote_host”替换为远程主机的IP地址或域名。在输入此命令后,您将被要求输入远程主机的密码一次。 4. 连接到远程主机: ``` ssh user@remote_host ``` 请将“user”替换为您要连接的远程主机的用户名,“remote_host”替换为远程主机的IP地址或域名。如果您已经按照步骤3进行了密身份验证设置,则您将不再需要输入密码即可连接到远程主机。 以上就是CentOS 6.5配置SSH并进行使用的教程。希望对您有所帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值