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 [email protected]192.168.0.1
# 若修改过SSH默认端口号(例如:修改为了1000),则登陆时需要指定端口号10000
ssh [email protected]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登陆到自己:

1 cd ~/.ssh  # 如果找不到这个文件夹,先执行一下 "ssh localhost"
2 ssh-keygen -t rsa
3 # 将id_rsa.pub追加到authorized_keys
4 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 “ 中。

1 # 假设我们的主机名为:A,用户名:hadoop,ip:192.168.0.1
2 # 想要无密SSH登陆的主机名为:B, 用户名:hadoop,ip:192.168.0.2
3
4 # 首先,我们使用A中的hadoop用户拷贝 " ~/.ssh/id_rsa.pub " 到B的 " /home/hadoop/tmp/ " 目录下
5 scp ~/.ssh/id_rsa.pub [email protected]192.168.0.2:/home/hadoop/tmp
6 # 这里的ip也可以换为主机名
7
8 # 然后,ssh登陆B,将 " /home/hadoop/tmp/id_rsa.pub " 追加到 " ~/.ssh/authorized_keys " 中去。
9 cat /home/hadoop/tmp/id_rsa.pub >> ~/.ssh/authorized_keys  

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

时间: 2024-10-09 08:33:27

SSH无密码验证配置的相关文章

ssh 无密码验证配置

1.由root用户切换到hadoop 用户下 2.在根路径下(/home/hadoop)创建.ssh 文件 mkdir .ssh 3.生成密钥 ssh-keygen -t rsa -P "" 4.进入 .ssh目录下 cd .ssh 5.ls 查看 看里面有 了公钥和私钥 6.将公钥放入到 linux 认证里面 cp id_rsa.pub authorized_keys 7.ls 查看目录 里面有一个认证文件   authorized_keys 8. 查看具体内容 vi authori

SSH无密码登陆配置

摘录一 在192.168.42.142机器上 1)运行:ssh-keygen -t rsa 2)然后拍两下回车(均选择默认) 3)运行: ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected] 或普通用户: ssh-copy-id [email protected] 4)再输入163机器上的root密码 此时,再ssh 到163机器,则不需要密码了.相互之间scp,也不需要密码 摘录二 配置 ssh 实现 MPI 节点间用户的无密码访问,由于

SSH无密码验证

一.安装和启动SSH协议 sudo yum install ssh sudo yum install rsync service sshd restart 启动服务 (rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件) 确保所有的服务器都安装,上面命令执行完毕,各台机器之间可以通过密码验证相互登. Last login: Mon Oct 29 14:01:11 2012 from 10.196.80.99 [email protected]:~$ ssh local

Linux(CentOS)SSH无密码验证登陆

最近在搭建Hadoop集群,为了操作方便,需要Master用无密码验证的方式的SSH登陆Slave. 1.原理: Master作为客户端,要实现无密码公钥认证,连接到服务器Salve上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Salve上.当Master通过SSH链接到Salve上时,Salve会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master.Master收到加密数之后再用私钥解密,并将解密数回传给Salve,Salve确认

Linux配置ssh无密码验证,rsync

1.我先声明主机 pangzhiminglinux     192.168.200.129 CentOS2           192.168.200.130 方法大概是这样:如果想从pangzhiminglinux的普通用户无验证登录到CentOS2的普通用户(单方向的),那么就要在两个主机都建立一个相同名字,相同密码的普通用户hadoop,pangzhiminglinux登录到自己创的普通用户hadoop下,生成秘钥对,私钥不要密码,把公钥内容复制到hadoop家目录的.ssh/author

SSH无密码验证登录实现

原理:使用所需用户登录客户端,使用ssh-keygen生成用户主机私钥和密钥,并把客户端公钥上传到服务器端固定的文件中.当客户端通过ssh访问服务器端时,服务器端会生成一个随机数并用客户端的公钥对随机数进行加密,并发给客户端.客户端收到加密数后在使用私钥解密,并将解密数传给服务器端,服务器端确认解密无误后就允许客户端进行连接了. 作用:使用ssh登录主机是不需要输入密码.可以把scp 的指令放置于 crontab 服务中, 让我们的系统透过 scp 直接在背景底下自行 定期的进行网络复制与备份.

使用SSH无密码验证访问树莓派

让你的计算机每次连接树莓派都不需要输入密码是可以实现的,你只需要生成一个SSH key. 1.CHECK FOR EXISTING SSH KEYS(检查已存在的SSK key) 首先,检查你的计算机(你用来连接树莓派的设备)是否已经有SSH key: ls ~/.ssh 如果你看到像id_rsa.pub或者id_dsa.pub这样的文件,那么你就已经配置好key了.你可以直接跳过生成key这个步骤(或者使用rm id*命令删除这些文件,然后重新生成key). 2.GENEERATE NEW S

ssh 无密码验证

照写打一遍就OK cd - rm -rf .ssh ssh-keygen -t rsa -P '' cd .ssh cat id_rsa.pub  >> authorized_keys chmod 600 authorized_keys 一路回车 不敲入其他字符 执行一个 ssh-add

配置 ssh无密码登陆

首先确保 linux系统中已经安装了ssh,否则先安装 ssh,ubuntu 系统可以执行 sudo apt-get install ssh 接下来开始配置 ssh无密码登陆 确保在 /home/user用户目录下存在.ssh目录,可以使用一下命令进行查看 ls -a /home/user 如果不存在可以自己手动创建一个 mkdir /home/user/.ssh 接下来没输入命令: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 解释一下: ssh-keyge