国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

虛擬機中CentOS直接實現SSH無密碼驗證

gityuan / 2735人閱讀

摘要:最近被老師派了個任務要搭建虛擬集群于是摸索著各種教程一點一點地進行著記錄一下自己在三臺虛擬機間實現無密碼驗證的過程給自己的知識普及為的縮寫,由的網絡工作小組所制定為建立在應用層和傳輸層基礎上的安全協議。

最近被老師派了個任務要搭建虛擬集群 于是摸索著各種教程一點一點地進行著
記錄一下自己在三臺虛擬機間實現ssh無密碼驗證的過程

給自己的知識普及:
SSH
SSH 為 Secure Shell 的縮寫,由 IETF 的網絡工作小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠程登錄會話和其他網絡服務提供安全性的協議。利用 SSH 協議可以有效防止遠程管理過程中的信息泄露問題。

目標:
實現自己同一臺電腦內的三臺虛擬機相互之間能夠無密碼登錄,(最終希望希望實現虛擬集群的搭建)

集群包括三個節點 master slave1 slave2 可以相互ping通
ip分別為192.168.224.100 192.168.224.201 192.168.224.202 //沿用了網上教程使用的ip
所有節點均是CentOS 6.5 x64 系統

/1 創建虛擬機并配置網絡
首先創建一臺虛擬機,其hostname為master
//1 關閉防火墻
# /sbin/service iptables stop;chkconfig --level 35 iptables off
//2 關閉SELINUX //令SELINUX=disabled
# vim /etc/selinux/config
//3 使用hostname命令查看hostname //簡直廢話..
# hostname
修改hostname //第一行為NETWORKING=yes 修改第二行HOSTNAME=master
# vim /etc/sysconfig/network
//4 修改ip地址為靜態 //可能不存在下面的文件 可用ifconfig查看現在的ip
# vim /etc/sysconfig/network-scripts/ifconfig-eth0
并修改成如下內容
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 //似乎可以直接在虛擬機設置中設置
//5 修改hosts映射 //下為例,格式為 ip hostname
192.168.224.100 master
192.168.224.201 slave1
192.168.224.202 slave2
隨后執行 service network restart 重啟網絡

/2 復制虛擬機
去Virtual Machines直接復制虛擬機,重命名為slave1 slave2
打開虛擬機,此時需要分別將其ip修改為之前規劃好的ip,利用ifconfig查看當前的硬件地址,修改ifconfig-eth0中相應內容
# vim /etc/sysconfig/network-scripts/ifconfig-eth0
修改hostname
# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=slave1 //or slave2

最后,檢查下hosts文件的內容 cat /etc/hosts //個人強迫癥..
分別修改各個slave后重啟
# reboot

此時不妨測試下各個節點間是否能ping通..
$ ping hostname
or
$ ping ipaddr

/3 配置ssh
確保自己安裝了OpenSSH //據查CentOS默認安裝OpenSSH,親測可信
查看sshd是否已經是系統服務
# chkconfig --list |grep sshd
若顯示
sshd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
說明沒啟動

啟動ssh服務
$ /etc/init.d/sshd start
或 設置ssh為開機自動啟動
# chkconfig --level 35 sshd on
讓我來溫習下ssh的原理:
節點A要實現無密碼公鑰認證連接到節點B上時,節點A是客戶端,節點B是服務端,需要在客戶端A上生成一個密鑰對,包括一個公鑰和一個私鑰,而后將公鑰復制到服務端B上。當客戶端A通過ssh連接服務端B時,服務端B就會生成一個隨機數并用客戶端A的公鑰對隨機數進行加密,并發送給客戶端A。客戶端A收到加密數之后再用私鑰進行解密,并將解密數回傳給B,B確認解密數無誤之后就允許A進行連接了。這就是一個公鑰認證過程,其間不需要用戶手工輸入密碼。重要過程是將客戶端A公鑰復制到B上。
在這里,就是將slave1 slave2上的公鑰放到master上

開始配置
//1 修改ssh配置文件
$ vim /etc/ssh/sshd_config
找到下列行 去掉注釋負號#
RSAAuthentication yes //字面意思..允許RSA認證
PubkeyAuthentication yes //允許公鑰認證
AuthorizedKeysFile .ssh/authorized_keys //公鑰存放在.ssh/au..文件中

修改后需要重啟ssh
$ /sbin/servive sshd restart

此時應該已經可以用ssh來登錄其他節點了
$ ssh hostname //需要輸入密碼 廢講..

//2 在所有虛擬機上生成密碼對 //RSA是一直公鑰加密算法
$ ssh-keygen -t rsa //直接回車幾次,可在默認路徑~/.ssh/下生成私鑰id_rsa公鑰id_rsa.pub

//3 將所有虛擬機的公鑰傳送到一起
目的是生成一個authorized_keys文件,包含所有機器的公鑰內容,不妨將公鑰都發送到master上
使用scp命令
$ scp id_rsa.pub ****@master:/home/****/.ssh/ id_rsa.pub.slave1 //名字無所謂啦知道是哪個slave就好,各個slave同理
注:scp便是利用ssh在linux主機間傳送文件,若出現Host key verification failed.
參照http://blog.csdn.net/pointfish/article/details/7025932

//4 生成authorized_keys
進入master檢查下公鑰是否正常傳送過來了
所以現在在master的/etc/home/****用戶名啊/.ssh/ 下應有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修改權限
# chmod 644 authorized_keys //600似乎就行了
此時的authorized_keys文件便是通向這三個節點的鑰匙了//好中二..
利用scp把該文件傳送到兩個slave的.ssh/下
# scp authorized_keys ****@slave1:/home/****/.ssh/authorized_keys
# scp authorized_keys ****@slave2:/home/****/.ssh/authorized_keys

done! 現在只要是有authorized_keys文件的節點便能另兩個節點ssh登錄了,如在master中
# ssh slave1

初次寫文只為以后能回顧,有錯還請指正..
作為一個還在上數據結構的學生,自己還是太年輕了=-=
由于最終目的是實現集群,ssh只是一小步,似乎還要繼續研究下Hadoop,努力吧//不懂啊QAQ

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/17345.html

相關文章

發表評論

0條評論

gityuan

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<