配置SSH免密登录及常见问题

配置免密登录

  1. 客户端执行命令$ ssh-keygen -t rsa
    回车三次后会在 ~/.ssh/ 下生成两个文件:id_rsa 和 id_rsa.pub,这两个文件是成对出现的
  2. 取出id_rsa.pub中内容,复制到服务器端的~/.ssh/authorized_keys
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  3. 验证即可。

常见问题

免密不生效的问题:

  1. 检查AuthorizedKeysFile配置是否启用authorized_keys
    $ cat /etc/ssh/sshd_config |egrep AuthorizedKeysFile
  2. 修改/etc/ssh/sshd_config
    $ sudo vi /etc/ssh/sshd_config
    取消行注释
    AuthorizedKeysFile .ssh/authorized_keys
  3. 查看系统安全日志,定位问题
    sudo cat /var/log/secure
    查看免密登录报错信息。
    找到问题:Authentication refused: bad ownership or modes for directory /home/hupz
    后面的目录代表权限不匹配
    SSH进行认证的过程中除了对用户目录有权限要求外,对 .ssh 文件夹和 authorized_keys 文件同样也要限制。

chmod g-w /home/hupz
chmod 700 ./.ssh
chmod 600 ~/.ssh/authorized_keys

  1. 重启SSH服务 $ service sshd restart

参考文章:
https://blog.csdn.net/lovebyz/article/details/87916317

原文地址:https://www.cnblogs.com/hupingzhi/p/12341546.html

时间: 2024-08-30 08:41:06

配置SSH免密登录及常见问题的相关文章

Hadoop用户配置ssh免密登录

一般生产环境 Hadoop组件都是由hadoop用户来启动,首先需要配置hadoop用户ssh免密登录 1.创建Hadoop用户 [[email protected] ~]# useradd hadoop [[email protected] ~]# id hadoop uid=1102(hadoop) gid=1102(hadoop) groups=1102(hadoop) [[email protected] ~]# passwd hadoop Changing password for u

linux(十)配置ssh免密登录实现

知道ssh的朋友应该知道它是用来干什么的,如果你不知道什么是ssh远程登录的话,可以去看一下我的上一篇博客,关于linux的网络基础的知识.备注:ssh是用于远端登入.执行ssh指令开启终端机阶段作业,并登入远端主机. 一.ssh远程登录 今天要和大家说的是,当我们一台客户机要远程登录到服务器的时候,输入密码才能登录成功. 过程流程图: 所以我们在想能不能我们不需要输入密码,直接使用ssh 用户名@服务器ip就可以登录呢? 二.ssh免密登录原理 看到这个图可能大家有一点蒙逼.我给大家解释一下.

十一、配置ssh免密登录(单机)

1.由于设置ssh免密登录不能修改ip,所以确保主机名和IP地址映射2.ll查看根目录下有没有其他之前设置的.ssh文件,有则要删除rm -rf .ssh/3.获取公钥ssh-keygen -t rsa 其中RSA是一种加密方法4.进入生成的.ssh 文件目录,两个文件,id_rsa是私钥,id_rsa.pub是公钥输入 more id_rsa即可查看私钥5.输入 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys在.ssh下生成新授权信息文件,cat

配置ssh免密登录

安装ssh sudo apt-get install ssh 产生密钥:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa (rsa为ssh的加密方式,-f为将产生的密钥放在.ssh/id_rsa中) (产生密钥之后.ssh文件中会有id_rsa(私钥)和id_rsa.pub(公钥)) 将公钥复制成authorized_key,即将这个公钥固定为ssh登录使用:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key 将公钥拷贝

Linux配置ssh免密登录

假定有3台机,用户名和IP分别是:C1  192.168.1.101C2  192.168.1.102C3  192.168.1.103 # 登入root用户su # 安装vimapt-get install vim # 安装sshapt-get install openssh-server # 查看机器名字(可跳过此步)vim /etc/hostname #如需修改可直接编辑后重启即可 # 打开hosts文件(3台机都要执行此步)vim /etc/hosts # 在hosts文件中加入以下几行

(11)ssh免密登录配置

***在Linux命令行中登录到另一台虚拟机(需要用到ssh协议) Linux中默认有ssh的服务器端和客户端,客户端的名字就叫ssh 前提是当前使用的用户名在待连接的虚拟机中存在 格式:  ssh ip地址 exit 返回原来的机器(登录到另一台机器会进入一个新的会话,使用exit命令返回原来的会话) ***把本机器上的文件拷贝到另一台机器上去 scp 文件名 用户名(可以不是当前用户,表示以哪个用户的身份进行拷贝)@ip地址:拷贝的目标目录 上述过程需要人手动输入密码,不利于过程的自动化.因

宿主机ssh免密登录docker容器

一.检查系统内核 二.安装docker 1.yum install docker  -y 2.docker version                    #查看docker版本 3.systemctl restart docker     #启动docker服务 4.groupadd docker & useradd -g docker docker 三.安装镜像 docker pull [选项] :标签 docker pull centos:7 docker images       

配置Linux系统ssh免密登录

因为要配置Hadoop集群服务,折腾了好久的ssh免密登录,简直要把人整疯了,在网上看了好多分享,都没搞定,最后看到一篇类似的,加上自己瞎蒙,终于成了,而且是超级简单,现在吐血总结一下. 我的是CentOS8虚拟机,干货来了. 第一步:vim /etc/ssh/sshd_config,将PubkeyAuthentication yes的注释去掉 第二步:systemctl status sshd.service,重启ssh服务 第三步:systemctl enable sshd.service,

SSH免密登录(并且免yes交互)

问题描述:主机A使用ssh协议远程主机B,默认会开启口令认证,即输入主机B对应用户的登录密码,并且第一次登录时,主机A需验证是否接受来自主机B的公钥,输入"yes/no"完成交互.实现ssh免密登录和免yes交互可提高服务器管理效率. 实现思路:1. 主机A创建密钥对id_rsa,id_rsa.pub,并将公钥id_rsa.pub上传至主机B,保存为/root/.ssh/authorized_keys文件: 2. 修改主机B的sshd服务配置文件/etc/ssh/sshd_config