ssh的免密码认证

ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。

注意:如果root用户不能够登录就要关闭Selinux和防火墙。

有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。

首先以root账户登陆为例。

1.在A机下生成公钥/私钥对。

[[email protected] ~]# ssh-keygen -t rsa -P ‘‘

-P表示密码,-P ‘‘ 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。

该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub。

一般采用的ssh的rsa密钥:

id_rsa     私钥

id_rsa.pub 公钥

下述命令产生不同类型的密钥

ssh-keygen -t dsa

ssh-keygen -t rsa

ssh-keygen -t rsa1

2.把A机下的/root/.ssh/id_rsa.pub 复制到B机的 /root/.ssh/authorized_keys文件里,先要在B机上创建好 /root/.ssh 这个目录,用scp复制。

[[email protected] ~]# scp /root/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys

[email protected]‘s password:

id_rsa.pub                                    100%  223     0.2KB/s   00:00

由于还没有免密码登录的,所以要输入一次B机的root密码。

3.authorized_keys的权限要是600!!!

[[email protected] ~]# chmod 600 /root/.ssh/authorized_keys

4.A机登录B机。

[[email protected] ~]# ssh -l root 192.168.1.181

The authenticity of host ‘192.168.1.181 (192.168.1.181)‘ can‘t be established.

RSA key fingerprint is 00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘192.168.1.181‘ (RSA) to the list of known hosts.

Last login: Thu Jul  3 09:53:18 2008 from root

[[email protected] ~]#

第一次登录是时要你输入yes。

现在A机可以无密码登录B机了。

小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)

想让A,B机无密码互登录,那B机以上面同样的方式配置即可。

SSH-KeyGen 的用法

假设 A 为客户机器,B为目标机;

要达到的目的:

A机器ssh登录B机器无需输入密码;

加密方式选 rsa|dsa均可以,默认dsa

做法:

1、登录A机器

2、ssh-keygen -t [rsa|dsa],将会生成密钥文件和私钥文件 id_rsa,id_rsa.pub或id_dsa,id_dsa.pub

3、将 .pub 文件复制到B机器的 .ssh 目录, 并 cat id_dsa.pub >> ~/.ssh/authorized_keys

4、大功告成,从A机器登录B机器的目标账户,不再需要密码了;

ssh-keygen做密码验证可以使在向对方机器上ssh ,scp不用使用密码.

具体方法如下:

ssh-keygen -t rsa

然后全部回车,采用默认值.

这样生成了一对密钥,存放在用户目录的~/.ssh下。

将公钥考到对方机器的用户目录下,并拷到~/.ssh/authorized_keys中。

要保证.ssh和authorized_keys都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。

时间: 2024-12-06 07:33:03

ssh的免密码认证的相关文章

【CentOS】SSH实现免密码登录与文件分发

实验环境: 10.0.0.9:分发服务器(用于保存SSH生成的密钥和后期的文件的分发工作)10.0.0.10.10.0.0.11:节点服务器(用于保存SSH生成的公钥文件和接收分发服务器的文件) #分发服务器与节点服务器的系统版本与内核如下 [[email protected]/]# cat /etc/redhat-release CentOS release 5.8 (Final) [[email protected]/]# uname -a Linux C58 2.6.18-308.el5 

Linux生成ssh公钥免密码登录远程主机和Xshell跨跳板机登录

##Linux生成ssh公钥免密码登录远程主机: 1:ssh-keygen -t rsa#生成密钥2:ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]#把本机的公钥追到远程主机172.16.205.117(登录账户hejm)的 ~/.ssh/authorized_keys 里注:如果ssh的端口不是22,可用参数p指定对应端口ssh-copy-id -i ~/.ssh/id_rsa.pub -p 23 [email protected] 或者通

ssh配置免密码登录

日常工作中很多情况下都需要登录服务器进行管理,一般都是用ssh进行连接,为了防止密码外泄,可以配置下ssh的免密码登录. 首先服务器两台: A:43.224.34.* B:104.238.161.* 配置的结果是B机器可以免密码登录到A服务器. 首先在B服务器上生成本机的公私密钥: ssh-keygen -t rsa -P '' 过程为: [[email protected] .ssh]# ssh-keygen -t rsa -P '' Generating public/private rsa

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 功能

ssh key 免密码登陆服务器,批量分发管理以及挂载远程目录的sshfs 第一部分:使用ssh key 实现服务器间的免密码交互登陆 步骤1: 安装openssh-clients [[email protected] ~]# yum install openssh-clients -y 步骤2: 创建用户,所有机器同时操作,可直接使用root [[email protected] ~]# useradd test #如果使用root,这里跳过 [[email protected] ~]# ec

基于ssh协议免密码的openwrt环境下数据传输及远程指令执行

这个名字起的简直是有点过于装X. 其实,问题很简单,一般情况下,openwrt运行在一些嵌入式平台或者路由器上,而这种平台往往没有太多的资源,如硬盘存储.但一些数据,如流量又只能捕获下来暂时存放于其上,日积月累,如果不把数据拷贝回来并删除openwrt上的,便会造成空间不足.当然在这个过程中,不可避免的要使用一些脚本,用到一些命令,那么,又如何远程执行命令呢. 首先,我用的openwrt是BARRIER BREAKER版本的,其他版本未经测试. 回到问题,怎么解决呢.当然,一种方法是nfs,不过

windows文件备份到linux:windows定时任务+cwrsync+ssh免密码认证

一.安装cwrsync 二.创建密钥对,实现ssh免密码验证 linux服务器上 [[email protected] ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): ###回车 Created directory '/root/.ssh'. Enter passphrase (empty for no passphras

ssh远程免密码登陆

在A机上用ssh [email protected]机ip 直接免密码登陆 在A机上 #ssh-keygen -t rsa还可以选择dsa只是算法不同. 会自动在当前用户下生成.ssh目录,然后在该目录下.ssh/id_rsa和 id_rsa.pub两个文件 现在就是要把自己的公钥给放到要登陆的机器上去. 一般可以利用ssh-copy-id -i ./.ssh/id_rsa.pub [email protected]机ip 然后提示输入B机密码就可以了, 这样就把A的机公钥传到了B机的登陆的用户

SSH KEY免密码验证

For mac os install ssh-copy-id: brew install ssh-copy-id For Linux install ssh-copy-id yum install openssh* STEP: 1: 生成SSH公钥 [[email protected] ~]# ssh-keygen -t dsa Generating public/private dsa key pair. Enter file in which to save the key (/root/.

ssh 公钥免密码登陆

使用ssh公钥实现免密码登录 (2011-04-22 01:24:10) 转载▼ 标签: 杂谈 分类: Linux系统 ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例. 有机器A(192.168.1.155),B(192.168.1.181).现想A通过ssh免密码登录到B. 首先以root账户登陆为例. 1.在A机下生成公钥/私钥对. [[email protected] ~]# ssh-keygen -t rsa -P