摘要:最近被老師派了個任務(wù)要搭建虛擬集群于是摸索著各種教程一點一點地進行著記錄一下自己在三臺虛擬機間實現(xiàn)無密碼驗證的過程給自己的知識普及為的縮寫,由的網(wǎng)絡(luò)工作小組所制定為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。
最近被老師派了個任務(wù)要搭建虛擬集群 于是摸索著各種教程一點一點地進行著
記錄一下自己在三臺虛擬機間實現(xiàn)ssh無密碼驗證的過程
給自己的知識普及:
SSH
SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)工作小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層和傳輸層基礎(chǔ)上的安全協(xié)議。SSH 是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。
目標(biāo):
實現(xiàn)自己同一臺電腦內(nèi)的三臺虛擬機相互之間能夠無密碼登錄,(最終希望希望實現(xiàn)虛擬集群的搭建)
集群包括三個節(jié)點 master slave1 slave2 可以相互ping通
ip分別為192.168.224.100 192.168.224.201 192.168.224.202 //沿用了網(wǎng)上教程使用的ip
所有節(jié)點均是CentOS 6.5 x64 系統(tǒng)
/1 創(chuàng)建虛擬機并配置網(wǎng)絡(luò)
首先創(chuàng)建一臺虛擬機,其hostname為master
//1 關(guān)閉防火墻
# /sbin/service iptables stop;chkconfig --level 35 iptables off
//2 關(guān)閉SELINUX //令SELINUX=disabled
# vim /etc/selinux/config
//3 使用hostname命令查看hostname //簡直廢話..
# hostname
修改hostname //第一行為NETWORKING=yes 修改第二行HOSTNAME=master
# vim /etc/sysconfig/network
//4 修改ip地址為靜態(tài) //可能不存在下面的文件 可用ifconfig查看現(xiàn)在的ip
# vim /etc/sysconfig/network-scripts/ifconfig-eth0
并修改成如下內(nèi)容
DEVICE=eth1
HWADDR=00:...... //硬件地址 ifconfig
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
BROADCAST=192.168.224.225 //
IPADDR=192.168.224.100 //
NETMASK=255.255.255.0
NETWORK=192.168.224.0 //
GATEWAY=192.168.224.2 //似乎可以直接在虛擬機設(shè)置中設(shè)置
//5 修改hosts映射 //下為例,格式為 ip hostname
192.168.224.100 master
192.168.224.201 slave1
192.168.224.202 slave2
隨后執(zhí)行 service network restart 重啟網(wǎng)絡(luò)
/2 復(fù)制虛擬機
去Virtual Machines直接復(fù)制虛擬機,重命名為slave1 slave2
打開虛擬機,此時需要分別將其ip修改為之前規(guī)劃好的ip,利用ifconfig查看當(dāng)前的硬件地址,修改ifconfig-eth0中相應(yīng)內(nèi)容
# vim /etc/sysconfig/network-scripts/ifconfig-eth0
修改hostname
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=slave1 //or slave2
最后,檢查下hosts文件的內(nèi)容 cat /etc/hosts //個人強迫癥..
分別修改各個slave后重啟
# reboot
此時不妨測試下各個節(jié)點間是否能ping通..
$ ping hostname
or
$ ping ipaddr
/3 配置ssh
確保自己安裝了OpenSSH //據(jù)查CentOS默認(rèn)安裝OpenSSH,親測可信
查看sshd是否已經(jīng)是系統(tǒng)服務(wù)
# chkconfig --list |grep sshd
若顯示
sshd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
說明沒啟動
啟動ssh服務(wù)
$ /etc/init.d/sshd start
或 設(shè)置ssh為開機自動啟動
# chkconfig --level 35 sshd on
讓我來溫習(xí)下ssh的原理:
節(jié)點A要實現(xiàn)無密碼公鑰認(rèn)證連接到節(jié)點B上時,節(jié)點A是客戶端,節(jié)點B是服務(wù)端,需要在客戶端A上生成一個密鑰對,包括一個公鑰和一個私鑰,而后將公鑰復(fù)制到服務(wù)端B上。當(dāng)客戶端A通過ssh連接服務(wù)端B時,服務(wù)端B就會生成一個隨機數(shù)并用客戶端A的公鑰對隨機數(shù)進行加密,并發(fā)送給客戶端A。客戶端A收到加密數(shù)之后再用私鑰進行解密,并將解密數(shù)回傳給B,B確認(rèn)解密數(shù)無誤之后就允許A進行連接了。這就是一個公鑰認(rèn)證過程,其間不需要用戶手工輸入密碼。重要過程是將客戶端A公鑰復(fù)制到B上。
在這里,就是將slave1 slave2上的公鑰放到master上
開始配置
//1 修改ssh配置文件
$ vim /etc/ssh/sshd_config
找到下列行 去掉注釋負(fù)號#
RSAAuthentication yes //字面意思..允許RSA認(rèn)證
PubkeyAuthentication yes //允許公鑰認(rèn)證
AuthorizedKeysFile .ssh/authorized_keys //公鑰存放在.ssh/au..文件中
修改后需要重啟ssh
$ /sbin/servive sshd restart
此時應(yīng)該已經(jīng)可以用ssh來登錄其他節(jié)點了
$ ssh hostname //需要輸入密碼 廢講..
//2 在所有虛擬機上生成密碼對 //RSA是一直公鑰加密算法
$ ssh-keygen -t rsa //直接回車幾次,可在默認(rèn)路徑~/.ssh/下生成私鑰id_rsa公鑰id_rsa.pub
//3 將所有虛擬機的公鑰傳送到一起
目的是生成一個authorized_keys文件,包含所有機器的公鑰內(nèi)容,不妨將公鑰都發(fā)送到master上
使用scp命令
$ scp id_rsa.pub ****@master:/home/****/.ssh/ id_rsa.pub.slave1 //名字無所謂啦知道是哪個slave就好,各個slave同理
注:scp便是利用ssh在linux主機間傳送文件,若出現(xiàn)Host key verification failed.
參照http://blog.csdn.net/pointfish/article/details/7025932
//4 生成authorized_keys
進入master檢查下公鑰是否正常傳送過來了
所以現(xiàn)在在master的/etc/home/****用戶名啊/.ssh/ 下應(yīng)有id_rsa.pub.slave1/2和master自己的pub
$ cd ~/.ssh/
$ cat id_rsa.pub >> authorized_keys //自己的
$ cat id_rsa.pub.slave1 >> authorized_keys
$ cat id_rsa.pub.slave2 >> authorized_keys //兩個slave的
給authorized_keys修改權(quán)限
# chmod 644 authorized_keys //600似乎就行了
此時的authorized_keys文件便是通向這三個節(jié)點的鑰匙了//好中二..
利用scp把該文件傳送到兩個slave的.ssh/下
# scp authorized_keys ****@slave1:/home/****/.ssh/authorized_keys
# scp authorized_keys ****@slave2:/home/****/.ssh/authorized_keys
done! 現(xiàn)在只要是有authorized_keys文件的節(jié)點便能被另兩個節(jié)點ssh登錄了,如在master中
# ssh slave1
初次寫文只為以后能回顧,有錯還請指正..
作為一個還在上數(shù)據(jù)結(jié)構(gòu)的學(xué)生,自己還是太年輕了=-=
由于最終目的是實現(xiàn)集群,ssh只是一小步,似乎還要繼續(xù)研究下Hadoop,努力吧//不懂啊QAQ
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/17345.html
閱讀 3467·2023-04-25 23:25
閱讀 2111·2021-11-12 10:36
閱讀 2825·2019-08-30 12:47
閱讀 2049·2019-08-29 18:45
閱讀 447·2019-08-29 17:28
閱讀 1792·2019-08-29 17:15
閱讀 1717·2019-08-29 16:05
閱讀 1419·2019-08-29 14:17