Linux上SSH免密登录配置

一、使用ssh

可以使用ssh远程登录到其他服务器。

1.基本语法

ssh [目的用户名@]目标主机

参数

  • 若指定了目的用户名,则使用的是目的用户登录的远程服务器。若没指定目的用户名,则root用户对应登录上的是root用户,普通用户对应登录上的是对应普通用户,若对应普通用户不存在,则登录失败。
  • 目标主机可以为目标主机的ip地址,如果配了映射关系,也可以使用目标主机名。

例如:使用hadoop102远程登录到hadoop103。
Linux上SSH免密登录配置_第1张图片
注意:这里目标主机因为配置了映射关系,所以可以直接使用主机名,否则则需要写明具体ip。

P.s.exit命令为退出当前ssh远程登录。

2.ssh连接时出现Host key verification failed的解决方法

The authenticity of host '192.168.1.103 (192.168.1.103)' can't be established.
RSA key fingerprint is cf:1e:de:d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
Are you sure you want to continue connecting (yes/no)? 
Host key verification failed.

解决方案:直接输入yes。

二、免密登录配置

免密配置后,使用ssh、scp和rsync等命令操作远程服务器时,将跳过密码输入。

1.免密登录原理

Linux上SSH免密登录配置_第2张图片

2.具体步骤

(1)生成公钥和私钥

在需要免密登录其他远程服务器的服务器上执行ssh-keygen -t rsa命令,然后敲(三个回车),就会在家目录下的.ssh目录下生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)。

例如:hadoop102要免密登录hadoop103和hadoop104,则在hadoop102上生成公钥和私钥。
Linux上SSH免密登录配置_第3张图片
注意:如果以前生成过公钥和私钥,再次执行此命令时就会询问你是否重新生成公钥和私钥,输入y即可重新生成,重新生成后以前做过的免密登录将会失效。
Linux上SSH免密登录配置_第4张图片

(2)将公钥拷贝到要免密登录的目标机器上

ssh-copy-id [目的用户名@]目标主机

参数

  • 若指定了目的用户名,则发送给的是目标主机的对应用户。若没指定目的用户名,则root用户对应发送给的是root用户,普通用户发送给的是对应普通用户,若对应普通用户不存在,则发送失败。
  • 目标主机可以为目标主机的ip地址,如果配了映射关系,也可以使用目标主机名。

例子:hadoop102免密登录hadoop103,在hadoop102上操作。
Linux上SSH免密登录配置_第5张图片
注意

  • 这里目标主机因为配置了映射关系,所以可以直接使用主机名,否则则需要写明具体ip。
  • 因为我是用普通用户(nanfeng)执行的命令,所以发送给的是对应目标主机的普通用户(nanfeng)。若对应目标主机的普通用户(nanfeng)不存在,则会发送失败。
  • 若你用的是root用户执行的命令,那么发送给的是对应目标主机的root用户。
  • 此时不能免密登录hadoop103的root用户,因为上面免密做的是普通用户(nanfeng)的免密登录。
    Linux上SSH免密登录配置_第6张图片

三、家目录.ssh文件夹下的文件功能解释

Linux上SSH免密登录配置_第7张图片

你可能感兴趣的:(学习笔记,linux,ssh,hadoop,大数据,centos)