时间:2021-05-19
前言
SSH为Secure Shell 的缩写,是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。越来越多的小伙伴们使用远程登录,而ssh安全性无疑是很高的,那么我们现在来看看如何实现ssh无密码验证配置。
一. 准备工作
首先要确保你的linux系统中已经安装了ssh,对于ubuntu系统一般默认只安装了ssh client,所以还需要我们手动安装ssh server:
sudo apt-get install openssh-server二. SSH基本原理
2.1 基本原理
SSH之所以能够保证安全,原因在于它采用了公钥加密。过程如下:
2.1 基本用法
SSH默认端口号为:22,可以根据自己的需要修改默认端口号为其它,并配合使用iptables过滤来限制远程SSH登陆的ip。常用用法如下:
# 使用默认的22端口ssh root@192.168.0.1# 若修改过SSH默认端口号(例如:修改为了1000),则登陆时需要指定端口号10000ssh 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_keys2. 如果要实现无密登陆到其它的主机,只需将生成的 “ 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无密登陆。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
配置SSH无登陆验证,在很多场景下是非常方便的,尤其是在管理大型集群服务时,避免了繁琐的密码验证,在安全级别越高的服务器上,通常密码的设置更复杂,配置SSH,不
ssh无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。有机器A(192.168.1.155),B
CentOS配置无密码登录配置sshd服务在服务器上修改/etc/ssh/sshd_config:#禁止root登录PermitRootLoginno#指定可以
大家好,今天我来向大家介绍如何在Ubuntu12.04上设置SSH的无密码登录功能。仅在工作站上有正确的(公私)密钥对以供匹配时SSH服务端才会允许你登录,反之
密码快要过期。由于机器数量众多,因此采用批量修改密码的方式来进行处理。下面是具体步骤:1.配置ssh免key#ssh-keygen-trsa-P''-f~/.s