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_rsa.pub 192.168.91.135

      -bash: ssh-copy-id: command not found //提示命令不存在

      解决办法:yum -y install openssh-clients

b.通过scp将内容写到对方的文件中

 命令:scp -p ~/.ssh/id_rsa.pub root@<remote_ip>:/root/.ssh/authorized_keys

也可以分为两步操作:

$ scp ~/.ssh/id_rsa.pub root@<remote_ip>:pub_key //将文件拷贝至远程服务器
$ cat ~/pub_key >>~/.ssh/authorized_keys //将内容追加到authorized_keys文件中, 不过要登录远程服务器来执行这条命令

2.3 通过Ansible实现批量免密

2.3.1 将需要做免密操作的机器hosts添加到/etc/ansible/hosts下:

  [Avoid close]
  192.168.91.132
  192.168.91.133
  192.168.91.134

2.3.2 执行命令进行免密操作

  ansible <groupname> -m authorized_key -a "user=root key=‘{{ lookup(‘file‘,‘/root/.ssh/id_rsa.pub‘) }}‘" -k

2.4 手工复制粘贴的方式

  将本地id_rsa.pub文件的内容拷贝至远程服务器的~/.ssh/authorized_keys文件中

最后注意相应文件和文件夹的权限控制:

sudo chmod 700 .ssh
sudo chmod 600 authorized_keys

备注:如果想服务器不用用户密码登录,而是用SSH Key

即做如下操作:ssh-keygen -t rsa -->cat id_rsa.pub> authorized_keys-->修改/etc/ssh/sshd_config文件,  把密码认证关闭, 将认证改为 passwordAuthentication no   重启下sshd。 service sshd restart;

原文地址:https://www.cnblogs.com/ppp1314520818/p/10398666.html

时间: 2024-08-29 00:49:00

Linux ssh下实现免密码登录的相关文章

Linux下实现免密码登录(超详细)

1.Linux下生成密钥 ssh-keygen的命令手册,通过"man ssh-keygen"命令: 通过命令"ssh-keygen -t rsa" 生成之后会在用户的根目录生成一个 ".ssh"的文件夹 进入".ssh"会生成以下几个文件 authorized_keys:存放远程免密登录的公钥,主要通过这个文件记录多台机器的公钥 id_rsa : 生成的私钥文件 id_rsa.pub : 生成的公钥文件 know_hosts

linux下A免密码登录B

linux下A免密码登录B 现在有两台linux服务器A:192.168.1.111,B:192.168.1.112 1.在A(192.168.123.111)生成公钥私钥对,命令如下: ssh-keygen  -t rsa -P '',如图: -P表示密码,-P '' 就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车. 2.在/root/目录下生成了id_rsa.id_rsa.pub文件,如图: id_rsa是私钥,id_rsa.pub是公钥. 3.将公钥复制到B(192.

使用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目录下面产生

SSH中的免密码登录

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

每天1个Linux技巧:centos7免密码登录ssh

1.为什么要面密码登录ssh呢第一,方便使用第二,在云环境中,新加入的主机,要实现自动部署,则要由控制节点进行免密码管理,比如ceph中新节点的加入. 2.免密码登录的原理是什么呢ssh登录有两种方式,密码和密钥文件,既然免密码,那么可以使用密钥文件来实现登录. 3.那么如何实现呢在这里,我们有两台服务器.server01 ,地址是192.168.0.131server02, 地址是192.168.0.132我们经过如下几步,可实现server01免密码登录server02 第一步在server

使用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

Linux修改hostname与免密码登录

修改hostname [[email protected] ~]$ hostnamectl set-hostname hadoop001 # 使用这个命令会立即生效且重启也生效 [[email protected] ~]$ hostname # 查看下 hadoop001 [[email protected] ~]$ vim /etc/hosts # 编辑下hosts文件, 给127.0.0.1添加hostname [[email protected] ~]$ cat /etc/hosts #

SSH配置—Linux下实现免密码登录

首先,假设我们有两台服务器,服务器名称分别是 master 和 slave1,我们现在需要做的就是在服务器 master 上面登录 服务器 slave1 不需要输入密码就可以登录成功,如下图所示. 下面开始我们的配置步骤 1.服务器 master 上生成密钥 可以通过使用 ssh-keygen 命令来生成,我们可以先使用 man 命令或者是 help 命令查看具体需要哪些参数以及具体信息. 通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥. 执行上面的命令时,我们直接按三次