SSH 在ssh-copy-id 之后仍需输入密码的问题
最近在使用Ansible,基于SSH。
远程服务器IP:
192.168.200.193
以下提及的远程服务器都为该服务器。
远程用户:
ansible_user
在本地服务器中,ssh-keygen生成密钥之后,将通过ssh-copi-id将生成的公钥添加到远程服务器:
ssh-copy-id ansible_user@192.168.200.193
然后登录到远程服务器,在/home/ansible/.ssh/authorized_keys文件中能够看到本地服务器中生成公钥。
然后在本地服务器中使用ssh远程登录:
ssh ansible_user@192.168.200.193
奇怪的是,仍然需要输入密码。但在远程服务器上新建一个用户,执行上面的步骤,却能够生效。
如果此时使用ansible执行一些操作的话还会得到如下错误:
192.168.200.193 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).\r\n",
"unreachable": true
}
看样子是权限的问题。
并且在/var/log/secure看到日志:
Authentication refused: bad ownership or modes for file /home/ansible_user/.ssh/authorized_keys
这时候观察ansible_user家目录的属性发现确实有点异常:
drwx------ ansible_user 3月 : ansible_user
从/etc/passwd文件中看到ansible_user的信息:
ansible_user:x::::/home/ansible_user:/bin/bash
这里跟家目录明显不符,记起之前通过root用户强行将ansible_user的uid改为了0。这也是导致家目录所属用户是UID(1001),而不是用户名的原因。
现在将/etc/passwd中的UID 0 改为1001即可。
当然出现该情况的还有一些其他原因,个人觉得这个是比较奇怪的原因之一。
SSH 在ssh-copy-id 之后仍需输入密码的问题的更多相关文章
- ssh复制公钥成功后仍需输入密码
1,网上说权限问题 登录流程: 被登录机器的文件权限: //用户权限 chmod 700 /home/username //.ssh文件夹权限 chmod 700 ~/.ssh/ // ~/.ssh/ ...
- 关于配置ssh免密码登录后,仍提示输入密码
一.在A端创建密钥对: [root@A ~] -P '' 二.如果B机器没有.ssh和authorized_keys文件则创建这个文件夹和文件先,创建后要chown改成当前用户的所属者,其次也要改: ...
- centos配置ssh免密码登录后,仍提示输入密码
配置SSH无密码登录需要3步: 1.生成公钥和私钥 2.导入公钥到认证文件,更改权限 3.测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...
- 解决:centos配置ssh免密码登录后仍要输入密码
转自https://www.jb51.net/article/121180.htm 第一步:在本机中创建秘钥 1.执行命令:ssh-keygen -t rsa 2.之后一路回车就行啦:会在-(home ...
- CentOS配置SSH免密码登录后,仍提示输入密码
CentOS配置SSH无密码登录需要3步: 生成公钥和私钥 导入公钥到认证文件,更改权限 测试 1.生成公钥和私钥 ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 默 ...
- SSH时不需输入密码
我这里有2台机器,一台装了Teradata数据库,ip是192.168.184.128,称它为teradata-pc:另一台装了Oracle数据库,ip地址是192.168.184.129,称它为 ...
- [转]ssh和SSH服务(包含隧道内容)
本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...
- ssh和SSH服务(包含隧道内容)
ssh和SSH服务(包含隧道内容) 72.16.10.6:/etc/fstab-->/172.16.10.3:/tmp/a.txt. [root@xuexi ~]# scp 172.16.10. ...
- 第1章 ssh和SSH服务(包含隧道内容)
本文对SSH连接验证机制进行了非常详细的分析,还详细介绍了ssh客户端工具的各种功能,相信能让各位对ssh有个全方位较透彻的了解,而不是仅仅只会用它来连接远程主机. 另外,本人翻译了ssh客户端命令的 ...
随机推荐
- ADC复用重映射
- JS经典面试题
自己总结了一些JS面试题 希望能够帮助正在找工作的程序猿(●´∀`●) 1.js 实现一个函数对javascript中json 对象进行克隆 var oldObject ="sdf" ...
- (机器学习)小试牛刀 利用Zapier和MonkeyLearn
MonkeyLearn + Zapier Integration(阅者注:本文介绍如何用Zapier和MonkeyLearn将机器学习实际应用到工作当中,比如:客户咨询和投诉管理,营销邮件管理) We ...
- socket套接字和驱动绑定分析
1. socket()系统调用 socket系统调用是哪个:socket()有3个参数,因此搜索SYSCALL_DEFINE3,然后在检索socket即可. SYSCALL_DEFINE3(socke ...
- leetcode:Path Sum【Python版】
1.类中递归调用函数需要加self # Definition for a binary tree node # class TreeNode: # def __init__(self, x): # s ...
- Monocular 集成harbor helm 仓库
harbor 已经支持了helm 仓库(使用chartmuseum),Monocular 是一个不错的helm 仓库可视化工具 测试Monocular集成harbor 私服功能 使用docker- ...
- 二分法查找 (Binary Search)
二分法查找适用于排列有序的数据.java实现方法如下: // Find the location of a value in array a // Array a must be sorted // ...
- Logback 整合 RabbitMQ 实现统一日志输出
原文地址:Logback 整合 RabbitMQ 实现统一日志输出 博客地址:http://www.extlight.com 一.前言 公司项目做了集群实现请求分流,由于线上或多或少会出现请求失败或系 ...
- oracle schema 白话文详解
概述: (一)什么Oracle叫用户(user): A user is a name defined in the database that can connect to and access ob ...
- ASP.NET 实现伪静态网页方法
方法一:利用Httphandler实现URL重写(伪URL及伪静态) 我们有时候会见到这样的地址:“http://www.huoho.com/show-12-34.html”,你或许认为在站点服务器根 ...