SSH 免密码 秘钥登录

目的: 从TestA使用秘钥 免密码输入 登录到 TestB(使用root账户)

在/root 中,如果之前你没有使用ssh登录过其他linux主机,这里是没有.ssh目录的。

第一次使用ssh登录其他主机时会提出询问,登录之后就会创建.ssh目录并创建一个known_hosts文件。

这个文件中存在的注意,用户第二次登录时,就不会再次询问。

=============================================================

现在在TestA上创建秘钥。

使用 ssh-keygen 生成属于主机的秘钥对,有两种方式 :rsa和dsa 可以使用 -t 参数指定,默认是rsa。

在创建的过程中会要求你输入使用此秘钥对时的密码,为了远程时不需要手动输入密码,可以直接回车。

连接认证时,我们使用  rsa生成的秘钥对~

如果TestA远程连接到TestB,需要将TestA的共钥拷贝到TestB,并命名为authorized_keys。

上边指令意思就是 将TestA上的 共钥 id_rsa.pub内容复制到 TestB 的/root/.ssh/目录下并命名为 authorized_keys。

查看下 Testb

一切操作结束后,我们可以在TestA上做测试了

可以看到,在此链接TestB的时候就不需要输入密码了。

===================================================

小实验:

我在A上 用root账户将用这个账户生成的key复制到 B的 /home/dyg 目录下,然后我用dyg账号远程B,发下key不能生效。

在B上查看了下key文件的属性,发现其所有者是root而且只有root才有读和写权限,修改这个文件的所有者为dyg

然后在A上再次用dyg这个账户链接B

看以看到key生效了,所以,我们远程远端服务器所以用的账户必须对我们放置上去的key文件【也就是authorized_keys】至少有可读可写的权限。

那么我们使用一般账户生成的key能不能再远端的root账户上生效呢 ?

用一般账户dyg在A上生成了一对秘钥。

首先我们要确认在B上没有key文件。

现在我们将其复制到B上去

我用的root账户复制的,因为如果我们dyg账户,甚至都没有权限访问/root目录的。

可以看到key文件已经在B上生成了,下面测试下

可以看到,key生效了

我们继续

测试root账户是否能够使用dyg账户生成的秘钥呢 ?

如果我们直接用root账户做ssh操作,课件是肯定不行的,我们将dyg的秘钥对拷贝到自己的目录下测试。

发现key没有生效,这说明,key只能被其生成者用户所使用。

=====================

=======================

=====================

====================

由以上可以看出,即使一个普通账户生成的key只要被复制到远端服务器的/root/.ssh中 ,此账户就可以免密码登录。

时间: 2024-11-10 11:49:11

SSH 免密码 秘钥登录的相关文章

centos ssh免密码秘钥登录

假设从A主机ssh登录B主机,用秘钥代替密码,步骤如下: 1.在A主机上执行:ssh-keygen -t  rsa 一切默认,不用输入密码,生成两个文件: /root/.ssh/id_rsa /root/.ssh/id_rsa.pub 2.生成authorized_keys文件: touch /root/.ssh/authorized_keys cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys chmod 700 /root/.ss

脚本应用之五:免密码秘钥登录 批量实现

测试系统版本:CentOS 6.4 作用:跳板机远程被管理服务器,通常使用秘钥登录,实现此操作时,拷贝秘钥仍然需要输入一次登录密码,此脚本实现自动生成密钥对并全程无交互批量拷贝公钥到被管理服务器,并自动禁用被管理端的ssh密码登录,使其只允许秘钥登录(免密码秘钥登录实现,参考:http://lingyi.blog.51cto.com/2837715/1763747). 实现:借助 ssh-copy-id 脚本的拷贝公钥功能和expect自动应答工具,实现无交互批量拷贝公钥的功能.(附件带ssh-

linux系统下ssh免秘钥登录

我有两台linux主机: 主机名分别是: lsx01.com lsx02.com 希望在lsx01.com这台主机上无秘钥登录lsx02.com. 一.修改hosts文件 在两台机器上都添加主机ip信息 例如在lsx01.com上: vi /etc/hosts 配置如下: 二.生成rsa秘钥文件,统一拷贝至一个authorized_keys中 1.在所有主机上,例如lsx01.com主机上生成rsa秘钥文件 cd /root/.ssh ssh-keygen -t rsa 三下回车 生成了两个文件

设置SSH仅秘钥登录,禁止密码登录

/etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin # T

Linux远程ssh免密码,秘钥登录

Linux系统做免密,秘钥登录要注意一下几点: /root/.ssh目录权限为700 SELinux要关闭 /root/.ssh/authorized_keys文件名要写对 文件内容要粘贴对 检查是否按照ssh ssh -V 如果没有安装ssh,使用如下命令安装: yum install -y openssh-clients 主机A: ssh-keygen cat /root/.ssh/id_rsa.pub scp /root/.ssh/id_rsa.pub [email protected]主

ssh免密码登录机器(使用公钥和秘钥进行加密来实现)

ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 登录的原理: 有机器A(192.168.1.155),B(192.168.1.181).现想A通过ssh免密码登录到B.首先以root账户登陆为例. 1.首先我们需要在A机器上生成一对公钥和密钥对,生成的方法如下: 1 [[email protected] ~]# ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样

中小企业最基本的实用的ssh-key秘钥方案之ssh免密码登陆实战  

一.实验环境 本次实验需至少两台机器,本文采用三台机器做讲解.        服务器       ip     是否为分发机     nfs-server 10.0.0.11          是   web-client01 10.0.0.12          否   web-client02 10.0.0.13          否 二.实施步骤 1.添加系统账号(即普通用户)分别使用了三台机器,一台为分发机,另两台为被分发机.在企业环境中,很多用户直接用root来操作,这样好很不规范,权

ssh免秘钥登录

SSH免秘钥登录 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责 [[email protected] ~]# ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):    直接回车Enter passphrase (empty for no passphrase):  直接回车Enter

免秘钥登录命令

#ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 生成秘钥 #cd ~/.ssh/ id_dsa id_dsa.pub known_hosts id_dsa 私钥(给自己用) id_dsa.pub(给别人用) 把公钥文件追加到本地的认证文件中去 #cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 就可以免密码登录 #scp ./id_dsa.pub [email protected]:/opt 把node1里的公钥