ubuntu16.04 SSH免密码远程登陆

一、软件安装

(1)首先更新源(要确定系统可以联网,可以先打开浏览器访问以下百度主页,如果没连上网,可以试试到Win7系统上 “右键计算机 -> 管理 -> 服务和应用程序 -> 服务 -> 找到VMware相关的所有服务 -> 右键 -> 启动”)

sudo apt-get update
  • 1

(2)安装 openssh

  • 服务端安装
sudo apt-get install openssh-server
  • 1

ubuntu16.04 SSH免密码远程登陆_第1张图片

  • 客户端安装
sudo apt-get install openssh-client
  • 1

ubuntu16.04 SSH免密码远程登陆_第2张图片

ps:如何区分该装服务端还是客户端? 
如果 slave1 系统想要登录 slave2 系统,那么 slave1 装客户端, slave2 装服务端,如果想要互相都能登录,就服务端和客户端都装

(3)测试是否可以登录

ssh -l hadoop 192.168.195.133
  • 1

(ssh -l [用户名] [远程ip]) 
( ip 可以用 ifconfig 命令查看)

ubuntu16.04 SSH免密码远程登陆_第3张图片

到现在,我们已经可以通过密码登录了

二、配置免密码登录

原理是验证公钥而不验证密码

1、配置本机无密码登录

(1)进入到宿主目录下,生成本机秘钥同时设置免密登录,注意,这里不能使用 root 用户生成秘钥,而是要使用你想要设置的用户

cd /home/hadoop/
ssh-keygen -t rsa -P ""
  • 1
  • 2

一路回车

ubuntu16.04 SSH免密码远程登陆_第4张图片

(2)将公钥追加到 authorized_keys 文件中

cat .ssh/id_rsa.pub >> .ssh/authorized_keys
  • 1

赋予 authorized_keys 文件权限

chmod 600 .ssh/authorized_keys
  • 1

5

(3)验证是否成功

ssh localhost
  • 1

ubuntu16.04 SSH免密码远程登陆_第5张图片

2、配置 slave1 无密码登录 slave2 服务器

以下操作均在 slave2 服务器上操作

(1)复制 slave1 的公钥到 slave2 上

scp hadoop@192.168.195.133:/home/hadoop/.ssh/id_rsa.pub /home/hadoop
  • 1

(scp master_userName@master_ip:master_file slave1 _folder)

7

(2)将 slave1 公钥追加到 slave2 的 authorized_keys 文件中,删除 slave1 公钥文件

cat /home/hadoop/id_rsa.pub >> .ssh/authorized_keys
rm /home/hadoop/id_rsa.pub
  • 1
  • 2

8

(3)验证是否成功(在 slave1 服务器上操作)

ssh 192.168.195.134
  • 1

(ssh ip)

ubuntu16.04 SSH免密码远程登陆_第6张图片

大功告成

你可能感兴趣的:(ssh)