本文介紹如何通過 SSH 實現(xiàn)免密登錄。
工作環(huán)境:
- 本機(jī) macOS 10.12.6
- 虛擬機(jī)工具 Paralles
- Liunx :centos 7 mini (注意:6 和 7 的配置有區(qū)別)
SSH 協(xié)議是什么
SSH 是一種網(wǎng)絡(luò)協(xié)議根穷,用于計算機(jī)之間的加密登錄隔节。SSH是英文Secure Shell的簡寫形式。
通過使用SSH憔晒,你可以把所有傳輸?shù)臄?shù)據(jù)進(jìn)行加密更加安全可靠跨跨。使用SSH掏秩,還有一個額外的好處就是傳輸?shù)臄?shù)據(jù)是經(jīng)過壓縮的,所以可以加快傳輸?shù)乃俣刃宋埂SH 有很多功能蔼囊,它既可以代替 Telnet沫屡,又可以為FTP怜森、Pop、甚至為 PPP 提供一個安全的"通道"魏宽。
SSH 協(xié)議更多內(nèi)容看最后附的鏈接蘑险,有興趣的朋友可以了解一下滴肿。
配置主機(jī)間的免密登錄
配置免密登錄
什么是免密登錄呢?
通常我們登錄 SSH 是通過賬號和免密來登錄的佃迄,輸入ssh username@ip-server
然后輸入密碼泼差。
如果每次都輸入密碼會很麻煩,而且要對多臺主機(jī)進(jìn)行自動化管理呵俏,每次都要輸入密碼不現(xiàn)實堆缘。我們可以配置公鑰和密鑰進(jìn)行免密登錄。免密登錄做的事情其實就是通過 SSH 的公鑰和密鑰來校驗身份信息普碎。
首先你要知道每臺主機(jī)有一份公鑰和一份私鑰吼肥。我們要做的事情可以用一張圖來表示:
圖片的操作依次為
1.生成密匙對
ssh-keygen
之后可以在/root/.ssh
中看到生成的密匙對
[root@main /]# cd /root/.ssh/
[root@main .ssh]# ls
id_rsa id_rsa.pub
2.拷貝一份 A 的公鑰給 B
ssh-copy-id 192.168.0.10
輸入密碼
此時在 B 的authorized_keys
中就會有一份 A 的id_rsa.pub
公鑰信息。
注:第二步操作的做的事情其實就是一個拷貝密鑰的工作,也可以手動拷貝缀皱,但是用上面的命令更方便斗这。
3.最后我們就可以免密登錄,也就是不輸入密碼 A 就可以登錄 B
ssh root@192.168.0.10
192.168.0.10 為 B 的 ip 地址
如果要退出登錄,輸入exit
即可啤斗。
給主機(jī)起一個別名
192.168.0.10 是 ip 地址表箭,也就是說登錄的時候我們還要輸入一次 ip。我們可以給每個主機(jī)配置一個別名钮莲,用ssh ip-server
的方式登錄免钻。
就像人有身份證也有名字一樣,我們可以通過 ip 來辨識主機(jī)崔拥。給他一個別名就是給一個hostname
极舔。
可以用hostname
來查看你的主機(jī)名链瓦,要改主機(jī)名改他的配置文件
vi /etc/hostname
在其中替換為你要改的名字拆魏,比如 main
重啟生效
reboot
這樣主機(jī)名已經(jīng)改掉了,還差一步澡绩。我們要讓主機(jī)名和我們的 ip 關(guān)聯(lián)在一起稽揭,修改/etc/hosts
文件
vi /etc/hosts
添加上 ip 和 hostname 的鍵值對
例如:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.11 main
192.168.0.10 slave
兩邊都配置完成可以用ssh slave
直接連接slave
俺附。如果你想自己免密連接自己那就按照上面的步驟給自己配置一份密匙就行了肥卡,動手試試吧。