遠端免密碼登入Openstack例項
背景
一般情況下,可以通過Openstack Dashboard
的控制檯來訪問使用者建立的例項Instance
,對於管理員來說,通過這種方法來訪問會覺得很不方便,因為每次都需要開啟瀏覽器來輸入網址,每次點選都需要等待響應,登入到例項後控制檯的響應也不是很及時且有卡頓。因此,本文介紹如何通過名稱空間來實現免密碼登入Openstack例項。
名稱空間
在Linux中,網路名稱空間可以被認為是隔離的擁有單獨網路棧(網絡卡、路由轉發表、iptables)的環境。網路名稱空間經常用來隔離網路裝置和服務,只有擁有同樣網路名稱空間的裝置,才能看到彼此。openstack中就採用名稱空間來實現不同網路的隔離。
使用
ip netns
來檢視已經存在的名稱空間:$ ip netns qrouter-e94975e8-4688-4858-8f64-86a18eea81ed qdhcp-34ba192f-ceea-4c86-addc-a5d14c6a34a8
qdhcp
開頭的名字空間是dhcp伺服器使用的,qrouter
開頭的則是router服務使用的。檢視openstack的網路:
$ openstack network list +--------------------------------------+---------+--------------------------------------+
可以看到
private
網路的dhcp伺服器對應的名稱空間qdhcp-34ba192f-ceea-4c86-addc-a5d14c6a34a8
的名字中包含了private
網路的ID。而本次測試的遠端例項就是建立在private網路下的。通過
ip netns exec namespace_id command
來在指定的網路名字空間中執行網路命令,記得加上sudo
許可權,例如$ sudo ip netns exec qdhcp-34ba192f-ceea-4c86-addc-a5d14c6a34a8 ifconfig lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:190 errors:0 dropped:0 overruns:0 frame:0 TX packets:190 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:65824 (65.8 KB) TX bytes:65824 (65.8 KB) tap4e2f68bb-84 Link encap:Ethernet HWaddr fa:16:3e:32:19:6b inet addr:10.0.0.2 Bcast:10.0.0.63 Mask:255.255.255.192 inet6 addr: fe80::f816:3eff:fe32:196b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1450 Metric:1 RX packets:110210 errors:0 dropped:0 overruns:0 frame:0 TX packets:107493 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:21335986 (21.3 MB) TX bytes:8426397 (8.4 MB)
ssh遠端登入例項:
sudo ip netns exec namespace_id ssh [email protected]
通過該命令來實現從控制節點通過ssh服務遠端訪問Openstack例項。
傳送公共祕鑰
要實現免密碼遠端登入例項,首先需要將控制節點root使用者
的ssh的公共祕鑰傳送到遠端例項,也就是/root/.ssh/id_rsa.pub
檔案中的內容,遠端例項收到後會將公共金鑰儲存到登入使用者的.ssh/authorized_keys
檔案中,這樣下次登入遠端例項時就不再需要密碼。
傳送公共金鑰
$ sudo ip netns exec qdhcp-34ba192f-ceea-4c86-addc-a5d14c6a34a8 ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]10.0.0.9 /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub" /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys [email protected]10.0.0.9's password: Number of key(s) added: 1 Now try logging into the machine, with: "ssh '[email protected]'" and check to make sure that only the key(s) you wanted were added.
注意:傳送的公共祕鑰必須是控制節點
root
使用者的,因為在進入名稱空間執行命令時需要加上sudo
許可權,而sudo
是用來以其他身份來執行命令的,預設的身份為root
,這樣在ssh
登入遠端例項時是以控制節點的root
使用者來登入遠端例項的openstack
使用者,因此需要將控制節點root
使用者的公共金鑰傳送給遠端例項,root使用者的公共金鑰的路徑是/root/.ssh/id_rsa.pub
。檢視遠端例項的
authorized_keys
$ vi ~/.ssh/authorized_keys ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjXQQUtIcLLcvBXVudZDBbQFK8BT/hB67oOrs792sfCuMhxvxvFRbma5UmnxwxOhXUIRjdz4u7tWhR3VVhqqnlHGDKOQVje/t2QtTlXXcBI3kGnc0Epem2NRMgRKp/h/Y1EOwtPNHRDVfr8C2znilXpWW1ueigHuJF4TWT7vEjgbApmWhopZcOXKbLkSu5dxLGUO3TzGqkASgpLG2XyuUJVqoREr5wbAZytq7R2p5KCxUZ6T7sDUQG+xmFPsfPg3MUHQmatTvtSf+mImotTkNSqOp2Itct9afX7SPkRncrXVWJ0qutbrRrkjRJm1l/sCjFBOD0x6txcFBX30nPvkDx root@controller
檢視控制節點
root
使用者公共金鑰# vi /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCjXQQUtIcLLcvBXVudZDBbQFK8BT/hB67oOrs792sfCuMhxvxvFRbma5UmnxwxOhXUIRjdz4u7tWhR3VVhqqnlHGDKOQVje/t2QtTlXXcBI3kGnc0Epem2NRMgRKp/h/Y1EOwtPNHRDVfr8C2znilXpWW1ueigHuJF4TWT7vEjgbApmWhopZcOXKbLkSu5dxLGUO3TzGqkASgpLG2XyuUJVqoREr5wbAZytq7R2p5KCxUZ6T7sDUQG+xmFPsfPg3MUHQmatTvtSf+mImotTkNSqOp2Itct9afX7SPkRncrXVWJ0qutbrRrkjRJm1l/sCjFBOD0x6txcFBX30nPvkDx root@controller
可以看到,兩者是一樣的,說明控制節點的
root
使用者已經被授權通過公共金鑰來訪問遠端例項。
免密碼登入
免密碼登入遠端例項
$ sudo ip netns exec qdhcp-34ba192f-ceea-4c86-addc-a5d14c6a34a8 ssh [email protected]10.0.0.9
這樣就通過
ssh
服務免密碼遠端登入Openstack
例項,而不需要通過Dashboard
的控制檯來登入例項。
相關推薦
遠端免密碼登入Openstack例項
背景 名稱空間 免密碼登入 背景 一般情況下,可以通過Openstack Dashboard的控制檯來訪問使用者建立的例項Instance,對於管理員來說,通過這種方法來訪問會覺得很不方便,因為每次都需要開啟瀏覽器來輸入網址,每次點選都需
Linux配置DMZ機器遠端免密碼登入
問題 當我們環境中伺服器數量較多,特別是對於我們生產環境下,當然我們在伺服器數量較多時,一般都會有一臺DMZ的可信機器,然後通過DMZ機器SSH遠端到各個伺服器上進行操作,但是每次SSH都要輸入使用者名稱,密碼等資訊,比較繁瑣,特別是對於服務運維很不方便,這時候我們就可以通過設定各個服務
【Linux】Linux作業系統——配置ssh免密碼登入遠端伺服器
ssh免密碼登入遠端伺服器 最簡單的操作 ssh免密碼登入的原理是把本地電腦的公鑰放在宿主機,然後使用本地電腦的私鑰去認證。 在本地電腦執行 /usr/bin/ssh-keygen -t rsa,安裝提示一直回車即可,最後會看到~/.ssh目錄下多了幾個檔案id_rsa (
jenkins釋出專案到遠端主機上,配置兩臺linux如何使用SSH免密碼登入
一、首先要配置兩臺linux如何使用SSH免密碼登入,這樣指令碼執行scp命令以及遠端執行指令碼都不需要輸入密碼: A為本地主機(即用於控制其他主機的機器,jenkins伺服器) ; B為遠端主機(即被控制的機器Server,jenkins
Mac設定免密碼登入Centos伺服器
前言:沒有密碼還是美滋滋 step1:在Mac終端生成公鑰和私鑰 cd ~/.ssh ssh-keygen -t rsa 之後回車三次,ls檢視: 多了id_rsa 和id_rsa.pub兩個檔案 step2:傳送公鑰到CentOS伺服器端 scp id_rsa.p
Centos 解決SSH 免密碼登入 以及Crontab製作定時SSH自動登入和關閉的指令碼
一、SSH免密碼登入 假設要登入的機器為192.168.1.100,當前登入的機器為192.168.1.101。 首先在101的機器上生成金鑰(如果已經生成可以跳過): $ ssh-keygen -t rsa一路回車即可。 然後在將生成的公鑰複製到機器100上的~/.ssh/authorized_ke
解決:centos配置ssh免密碼登入後仍要輸入密碼
轉自https://www.jb51.net/article/121180.htm 第一步:在本機中建立祕鑰 1、執行命令:ssh-keygen -t rsa 2、之後一路回車就行啦;會在~(home)目錄下中產生.ssh(隱藏)資料夾;
ssh免密碼登入linux伺服器
1、環境:win10、win10裝有的git、linux伺服器 2、開啟git,檢視win10本機的公鑰 $ cat ~/.ssh/id_rsa.pub 3、開啟伺服器,建立.ssh目錄,進入 [[email protected] ~]# mkdir ~/.ssh/ [
SSH免密碼登入配置.md
在客戶機生成私鑰和公鑰後,將公鑰放在服務機,後續客戶機通過ssh遠端登入服務機時,將不再提示輸入服務機登入密碼,即可實現免密碼登入。 這種“公鑰登入”方式,可用在伺服器間,也可以用在個人電腦(mac\windows\linux),從而實現免密碼遠端登入伺服器;
linux中的免密碼登入
假設現在你有了一臺主機器main: 192.168.0.1和一臺從機器clinet:192.168.0.2; 首先 cd ~/.shh/ 目錄下,有一個 known_hosts檔案; 然後輸入:[[email protected] .ssh]# ssh-ke
CentOS ssh免密碼登入
在搭建Hadoop環境的時候,需要設定一下免密碼登入。 之前做過一次免密是成功的,最近又做了一次,居然不成功。。。很鬱悶,很納悶, 下面把我的操作步驟和經驗分享一下: 系
【轉】ssh免密碼登入的原理
工作第一天,就需要登入各種伺服器,免密碼登入無疑能大大的提高工作效率。以前只知道配置,今天瞭解了下原理。 免密碼登入原理 圖解,server A免登入到server B: 1.在A上生成公鑰私鑰。 2.將公鑰拷貝給server B,要重新命名成authorized_keys(從英文名就
非對稱加密演算法:實現ssh免密碼登入
**描述:利用非對稱加密演算法,實現兩臺主機之間可以免密碼直接登入 ,如下圖:** 整個實驗的原理如下圖: 具體步驟如下: 1、先準備好實驗需要的環境(兩臺虛擬機器–A:192.168.72.73,B:192.168.72.23),此時,我們遠端登入主機B,
SSH免密碼登入設定
兩臺Linux主機需要從其中一臺ssh至另外一臺需要手動輸入密碼,通過以下設定免密碼登入 生成祕鑰 ssh-keygen -t rsa 把祕鑰複製至需要免密登入的主機,第一次拷貝需要輸入一次密碼 ssh-copy-id -i ~/.ssh/id_rsa.pub [emai
Linux免密碼登入設定 ssh-keygen
linux系統配置免密碼的方式: 1:ssh-keygen -t rsa 生成金鑰 [[email protected] ~]# ssh-keygen -t rsa Generating public/private rsa key pair.
ansible生成公鑰,ssh客戶機免密碼登入
環境 192.168.182.142(ansible主機) 192.168.182.143(客戶機) ①在192.168.182.142主機上生成公鑰 1,生成公鑰 檢視ls /root/.ssh/是否有祕鑰 有的話rm -rf /root/.ssh/* 最好刪除之前備份。 生成
centos 7 ssh免密碼登入(補充1.6 SSH免密登入)
參考(十分詳細):http://blog.csdn.net/newstruts/article/details/46424191 目的 在搭建Linux叢集服務的時候,主伺服器需要啟動從伺服器的服務,如果通過手動啟動,叢集內伺服器幾臺還好,要是像阿里1000臺
(一)git生成ssh-key,實現免密碼登入github
一 、 切到當前使用者的根目錄,右鍵選擇git bash,設定Git的user name和email: git config --global user.name "這裡換上你的使用者名稱" git config --global user.email "這裡換上你的郵箱"
ssh 免密碼登入
ssh免密碼登入的原理: serverA 免密碼登入到 serverB 機器A 向 機器B 進行免密碼登陸 step1: 在機器A中生成 私鑰和公鑰: ssh-keygen -t rsa 此時在 ~/.ssh/ 目錄下生成了公鑰(id_rsa.pub
CentOS 配置叢集機器之間SSH免密碼登入
特別提示:不能使用root使用者 SSH 為 Secure Shell 的縮寫,由 IETF 的網路小組(Network Working Group)所制定;SSH 為建立在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專為遠端登入會話和其他網路服務提供安全