使用ssh公钥实现免密码登录

使用ssh公钥实现免密码登录

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

有机器A(10.207.160.34),B(10.221.32.234)。现想A通过ssh免密码登录到B。
首先以root账户登陆为例。

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

ssh-keygen -t rsa -P ‘‘

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

该命令将在~/.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

执行结果:

[[email protected]_32_234_centos ~]$ ssh-keygen -t rsa -P ‘‘
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory ‘/home/hadoop/.ssh‘.
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
The key fingerprint is:
c6:ae:f2:7b:d1:54:eb:30:c3:ee:a1:ea:89:14:da:97 [email protected]_32_234_centos
The key‘s randomart image is:
+--[ RSA 2048]----+
|                 |
|            .    |
|         . . .   |
|       .  * .    |
|    .   S+ =     |
|   o . +. + .    |
|  . o E .+ .     |
|   ..o oo .      |
|    .+B+         |
+-----------------+

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

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

执行结果:

[email protected]_160_34_centos:~> scp ~/.ssh/id_rsa.pub [email protected]:~/.ssh/authorized_keys
The authenticity of host ‘node1 (10.221.32.234)‘ can‘t be established.
RSA key fingerprint is 4a:bc:1e:ca:18:87:39:af:e4:dd:c4:ce:c1:7b:c7:66.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘node1,10.221.32.234‘ (RSA) to the list of known hosts.
[email protected]‘s password:
id_rsa.pub                                    100%  405     0.4KB/s   00:00    

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

[email protected]_160_34_centos:~> ssh Node1
[email protected]‘s password:
Last login: Tue Aug 19 21:29:46 2014 from master

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

chmod 600 ~/.ssh/authorized_keys

4.A机登录B机。

[[email protected]_32_234_centos ~]$ ssh node1
Last login: Tue Aug 19 22:05:43 2014 from master

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都只有用户自己有写权限。否则验证无效。(今天就是遇到这个问题,找了好久问题所在),其实仔细想想,这样做是为了不会出现系统漏洞。

使用ssh公钥实现免密码登录,布布扣,bubuko.com

时间: 2024-10-07 05:01:01

使用ssh公钥实现免密码登录的相关文章

Linux使用ssh公钥实现免密码登录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 '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车.该命令将在/root

使用ssh公钥实现免密码登录服务器

ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对,CentOS为例.首先在客户端上创建一对公私钥 yum -y install openssh systemctl start sshd systemctl enable sshd /etc/ssh/ssh_config       客户端配置文件 /etc/ssh/sshd_config     服务器配置文件 vim /etc/ssh/ssh_config IdentityFile ~/.ssh/id

SSH中的免密码登录

1:执行命令  ssh-keygen rsa 产生秘钥 ,位于~/.ssh文件夹下(如果在这期间有什么提示,一路敲击enter下去,什么都不用输入) 2:执行命令 cp  ~/.ssh/id_rsa.pub     ~/.ssh/authorized_keys  如果提示yes/no  直接输入  yes 验证ssh  localhost 搞定 不用输入密码了 SSH中的免密码登录

使用ssh公钥实现面密码登录:RSA公钥

ssh 无密码登录要使用公钥与私钥.linux下可以用用ssh-keygen生成公钥/私钥对. 有机器A,B(192.168.0.32).现想A通过ssh免密码登录到B. 1.在A机下生成公钥/私钥对. ?  ~  ssh-keygen -t rsa -P '' -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车. 该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub. 一般采用的ssh的rsa密钥: id_rsa   

CentOS 6.9 SSH配置用户免密码登录

1. 演示环境: 192.168.1.144:CentOS 6.9 x86_64 192.168.1.146:CentOS 7.4 x86_64 2. 演示目标:192.168.1.144通过密钥认证的方式免密码直接登录192.168.1.146 3. 192.168.1.144安装软件包,并首次连接192.168.1.146: # yum -y install openssh-clients # ssh [email protected] 4. 192.168.1.144生成密钥对:# ssh

Linux ssh下实现免密码登录

1.Linux 生成密钥 ssh-keygen -t rsa 进入".ssh"会生成以下几个文件 id_rsa : 生成的私钥文件 id_rsa.pub : 生成的公钥文件 know_hosts : 已知的主机公钥清单 2.远程免密登录(现在我们就需要把key文件复制到其它几台服务器了,) 常用以下几种方法: a.通过ssh-copy-id的方式  命令: ssh-copy-id (服务器IP) 常见错误: [root@test ~]# ssh-copy-id -i ~/.ssh/id

ssh使用密钥免密码登录

使用ssh远程连接服务器,有两种身份校验方式:账号密码和秘钥.使用秘钥的方式理论上更加安全,而且免去了输入密码的步骤,使用起来更方便(尤其对于sftp,scp等). 设置 SSH,打开密钥登录功能 编辑 /etc/ssh/sshd_config 文件,进行如下设置: RSAAuthentication yes PubkeyAuthentication yes 留意 root 用户能否通过 SSH 登录: PermitRootLogin yes 当你完成全部设置,并以密钥方式登录成功后,再禁用密码

设置ssh通过密钥免密码登录Linux服务器

每次登录linux时需要输入一大串密码(有时还会等很长时间才能输入密码,文章最后有解决方法),密码设的太短,安全性不高,长了很难记忆并且输入麻烦.使用密钥登录,不仅可以省去了密码输入的步骤,而且提高了服务器的安全性. 1. 产生密钥 执行ssh-keygen -t rsa [[email protected] ~]# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the ke

ssh配置(免密码登录)

生成密钥: [[email protected]_105 ~]# ssh-keygen -t rsa 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 passphrase):  Enter same passphrase ag