欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

linux Ubuntu下SSH无密码验证配置的方法步骤

程序员文章站 2023-11-02 11:11:40
前言 ssh为secure shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,...

前言

ssh为secure shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ssh无密码验证配置。

一. 准备工作

首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server:

sudo apt-get install openssh-server

二. ssh基本原理

2.1 基本原理

ssh之所以能够保证安全,原因在于它采用了公钥加密。过程如下:

  1. 远程主机收到用户的登录请求,把自己的公钥发给用户;
  2. 用户使用这个公钥,将登录密码加密后,发送回来;
  3. 远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

2.1 基本用法

ssh默认端口号为:22,可以根据自己的需要修改默认端口号为其它,并配合使用iptables过滤来限制远程ssh登陆的ip。常用用法如下:

# 使用默认的22端口
ssh root@192.168.0.1
# 若修改过ssh默认端口号(例如:修改为了1000),则登陆时需要指定端口号10000
ssh root@192.168.0.1 -p 10000

三. 配置ssh无密登陆

3.1 主要用与hadoop集群配置中:

hadoop运行过程中需要管理远端hadoop守护进程,在hadoop启动以后,namenode是通过ssh(secure shell)来启动和停止各个datanode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置ssh运用无密码公钥认证的形式,这样namenode使用ssh无密码登录并启动dataname进程,同样原理,datanode上也能使用ssh无密码登录到 namenode。

1. 首先,运行 ssh localhost 来产生 /home/用户名/.ssh 目录,然后执行下面命令,将生成的 “ id_rsa.pub ” 追加(这里切记是追加,不是覆盖)到授权的key里面去。这样的效果是实现了当前用户无密ssh登陆到自己:

 cd ~/.ssh  # 如果找不到这个文件夹,先执行一下 "ssh localhost"
 ssh-keygen -t rsa
 # 将id_rsa.pub追加到authorized_keys
 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

2. 如果要实现无密登陆到其它的主机,只需将生成的 “ id_rsa.pub " 追加到其它主机的 ” ~/.ssh/authorized_keys “ 中去。这里我们使用的方法是先将本机的 ” ~/.ssh/id_rsa.pub “ 拷贝到你想无密登陆的主机上,再在相应的主机上使用 ” cat " 命令将” ~/.ssh/id_rsa.pub “ 追加到该主机的 ” ~/.ssh/authorized_keys “ 中。

# 假设我们的主机名为:a,用户名:hadoop,ip:192.168.0.1
# 想要无密ssh登陆的主机名为:b, 用户名:hadoop,ip:192.168.0.2

# 首先,我们使用a中的hadoop用户拷贝 " ~/.ssh/id_rsa.pub " 到b的 " /home/hadoop/tmp/ " 目录下
scp ~/.ssh/id_rsa.pub hadoop@192.168.0.2:/home/hadoop/tmp
# 这里的ip也可以换为主机名

# 然后,ssh登陆b,将 " /home/hadoop/tmp/id_rsa.pub " 追加到 " ~/.ssh/authorized_keys " 中去。
cat /home/hadoop/tmp/id_rsa.pub >> ~/.ssh/authorized_keys

现在,我们就可以在a中使用ssh无密登陆到b的hadoop用户了,同理如果想无密登陆其它的主机都可以使用此方法。需要注意的是配置hadoop集群时需要master和slave可以互相ssh无密登陆。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。