Ubuntu16.04下布置ssh免密登录

自作者是在WIn10条件下用VMWare安装的Ubuntu14.04,与MacOS
Sierra进行ssh免密登录配置。

ssh
无密码登录要动用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,上边我以Ubuntu为例。

hadoop集群环境须求互相登录到集群中的机器,一般的我们需求有2个账户hadoop用于登录集群中的其余机器

环境准备:新建两台虚拟机,而且两台虚拟机上都装有Ubuntu16.04的系统,使两台虚拟机之间维持互通情状。分别为两台虚拟机命名为A,B。假使大家要使A虚拟机免密登录B虚拟机。

1.Linux

ctrl+Alt+T或然直接打开Terminal

有机器A(10.0.2.1),B(10.0.2.100)。现想A通过ssh免密码登录到B。
首先以kube账户登陆为例。

波及到ssh免密码登录相关。初始此前最好将服务器名称,/etc/hosts等都修改下。

1.在A虚拟机的普通用户的巅峰下输入如下命令:

1.1安装vim

本人下载的Ubuntu镜像文件是从未自带vim命令的,所以,首先用

澳门金沙国际,sudo apt-get install vim 

安装vim。

设置到位后方可用 vim
~/.bashrc或然随便多少个文本来测试vim。执行结果如图。不对文件做别的改动
:q退出。(注意:此处只是测试vim是还是不是安装好,不履行也可以)。

1.在A机下生成公钥/私钥对

修改服务器名称

 ssh-keygen

澳门金沙国际 1

 

hostnamectl set-hostname   #这种形式永久生效

然后径直按回车到截止。那时在/home/username/的目录下发现多了三个.ssh/的目录。进入到.ssh/目录下会发现有id_rsa和id_rsa.pub那多少个目录,它们各自为私钥和公钥。

1.2安装ssh客户端

接下来,用

sudo apt-get install openssh-client 

命令,安装ssh客户端。

ssh-keygen -t rsa -P ''

hostname   #权且生效

2.在B虚拟机的普通用户的巅峰下输入如下命令:

1.3安装ssh服务器

然后用

sudo apt-get install openssh-server

安装ssh服务器。

 

linux免密码登录

sudo mkdir /home/username/.ssh/
sudo touch /home/username/.ssh/authorized_keys

1.4生成密钥

使用

ssh-keygen -t rsa 

变更密钥。

遇上让输入内容的,直接输入回车。一共四个回车。

此时,进入~/.ssh 发现早已生成八个文本 :id_rsa、id_04虚拟机与macOS之间,04下部署ssh免密登录。rsa.pub

此时,使用

ssh localhost

再输入密码,就可以接连localhost。

ctrl+d退出当前连年的服务器。

-P代表密码,-P ”
就象征空密码,也得以不用-P参数,那样就要三车回车,用-P就两回回车。
该命令将在~/.ssh目录下面爆发一对密钥id_rsa和id_rsa.pub。

长距离登录平安磋商的二种声明机制:

在B虚拟机创制新目录/home/username/.ssh/,并且在该目录下开创新的文本authorized_keys。

2.Mac端

同样,使用

ssh-keygen -t rsa

转移密钥。几个回车。

此时 使用ssh localhost
再输入密码,同样可以登录到本机服务器。contral+d退出。

再者,本机的.ssh文件夹下,也生成了id_rsa、id_rsa.pub那三个公文。

使用

cd ~/.ssh

cat  id_rsa.pub >> authorized_keys

将id_rsa.pub的内容,放到authorized_keys文件里。此时用ls列出脚下文件夹得内容,有多个文件,分别是id_rsa、id_rsa.pub、authorized_keys。

此刻,ssh localhost,可避防密直接登录了。

若果在风云突变进程中内定了文件路径和文书名,例如~/.ssh/k8s_rsa,
则生成~/.ssh/k8s_rsa和~/.ssh/k8s_rsa.pub多少个文件

1  用户名+密码的登录验证格局 :ssh

3.在A虚拟机的普通用户的极限下输入如下命令:

3.配备免密登录服务器

3.1在虚拟机的 .ssh目录下行使

scp id_rsa.pub >> your mac’s username@your mac’s ip:/Users/your
mac’s username/.ssh/id_rsa.pub.ubuntu

如:

scp id_rsa.pub >>
 nana@192.168.1.105:/Users/nana/.ssh/id_rsa.pub.ubuntu

把Ubuntu的id_rsa.pub文件传到mac,并以id_rsa.pub.ubuntu的名字存储。

那会儿 在mac端.ssh文件夹下查看是不是有id_rsa.pub.ubuntu文件

3.2在mac端执行

cat id_rsa.pub.ubuntu >> authorized_keys

把传播的linux的公钥追加到authorized_keys后面。

3.3配备linux虚拟机端口

至今虚拟机终端内,使用ifconfig,查出虚拟机ip。如:作者的虚拟机ip为:192.168.85.129

在VMWare主页,找到编辑-虚拟网络编辑-更改设置-NAT情势-添加

设置如图所示的端口转载,主机端口指出安装为九千上述。

澳门金沙国际 2

5.mac端使用scp -P 9000 /Users/nana/.ssh/authorized_keys
na@192.168.1.108:/home/na/.ssh/authorized_keys 

把authorized_keys发送到虚拟机上。

此时 ,执行

ssh  -p 9000 na@192.168.1.108

可以动用ssh免密登录linux虚拟机。

192.168.1.108为自己的win10种类的主机ip

2.public key复制到B机
把A机下的~/.ssh/k8s_rsa.pub 复制到B机的
~/.ssh/authorized_keys文件里,先要在B机上创造好 ~/.ssh
那个目录,用scp复制。

2  密钥验证

sudo scp -r id_rsa.pub username@10.192.12.103:/home/username/.ssh/
scp ~/.ssh/k8s_rsa.pub kube@10.0.2.100:~/.ssh/authorized_keys

server A免登录到server B: 

将A虚拟机生成的公钥复制到B虚拟机的.ssh/目录下,如上命令的IP为B虚拟机的IP。

是因为还平素不免密码登录的,所以要输入三回B机的root密码。

1.在A上生成公钥私钥。 

4.在B虚拟机的终点下输入如下命令:

3.authorized_keys的权柄借使600!!!

2.将公钥拷贝给server
B,要重命名成authorized_keys(从英文名就知道意思了) 

cat /home/username/.ssh/id_rsa.pub >> /home/username/.ssh/authorized_keys
rm -rf /home/username/.ssh/id_rsa.pub
chmod 700 /home/username/.ssh
chmod 600 /home/username/.ssh/authorized_keys

sudo
chmod 600
~/.ssh/authorized_keys

3.Server A向Server B发送3个一连请求。 

将从A传过来的公钥里的情节复制到新建的文书authorized_keys中,然后删除公钥,再修改权限。

4.
免密登陆到B机

4.Server B取得Server
A的新闻后,在authorized_key中搜索,假设有照应的用户名和IP,则随机生成2个字符串,并用Server
A的公钥加密,发送给Server A。 

5.在A虚拟机的顶峰下测试ssh是不是可以成功的免密登录B虚拟机,输入以下命令:

ssh -i ~/.ssh/k8s_rsa.pub kube@10.0.2.100

5.Server A拿到Server
B发来的消息后,使用私钥进行解密,然后将解密后的字符串发送给Server
B。Server B举办和生成的争辩统一,如若相同,则允许免登录。 

ssh 10.192.12.103

5. 将private加入ssh-agent

简单来讲:A要免密码登录到B,B首先要拥有A的公钥,然后B要做一次加密验证。对于非对称加密,公钥加密的密文不可以公钥解开,只可以私钥解开。

借使不须求输入B的报到密码,间接进入B,那么表示配置成功。

ssh-add k8s_rsa

生成公/私钥  ssh-keygen -t rsa 
#在日前用户home目录下的.ssh下出现id_rsa(私钥) id_rsa.pub(公钥)
然后将公钥复制到被登录机的.ssh/authorized_keys文件中

注意事项:

ssh-copy-iduser@hostname#
user为记名目的机的用户名,hostname为目标机的域名

如果发生密钥对名称为id_rsa和id_rsa.pub,则在登陆时不须要使用 -i
参数内定私钥。

#参考man ssh-copy-id

先是次登陆时会要求输入yes, 将长途主机参预 known hosts中

普通用户加入root组

 

usermod -g root username

# /etc/sudoers 下可配置以最佳用户权限操作命令

username ALL=(ALL) ALL

相关文章