我們使用ssh鏈接linux主機時,可能出現“Host key verification failed.“的提示,ssh連接不成功。
可能的提示信息如下:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
23:00:20:83:de:02:95:f1:e3:34:be:57:3f:cf:2c:e7.
Please contact your system administrator.
Add correct host key in /home/xahria/.ssh/known_hosts to get rid of this message.
Offending key in /home/xahria/.ssh/known_hosts:8
RSA host key for localhost has changed and you have requested strict checking.
Host key verification failed.
網上很多的解決方案是:vi ~/.ssh/known_hosts 刪除與想要連接的主機相關的行;或者直接刪除known_hosts這個文件。 當然這個方案也是可行的,但並非解決問題的根本辦法,因爲繼續使用,今後還會出現這樣的情況,還得再刪除。
下面簡單講一下這個問題的原理和比較長久的解決方案。
用OpenSSH的人都知ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,OpenSSH會覈對公鑰。如果公鑰不同,OpenSSH會發出警告,避免你受到DNS Hijack之類的攻擊。
SSH對主機的public_key的檢查等級是根據StrictHostKeyChecking變量來配置的。默認情況下,StrictHostKeyChecking=ask。簡單所下它的三種配置值:
1.StrictHostKeyChecking=no
#最不安全的級別,當然也沒有那麼多煩人的提示了,相對安全的內網測試時建議使用。如果連接server的key在本地不存在,那麼就自動添加到文件中(默認是known_hosts),並且給出一個警告。
2.StrictHostKeyChecking=ask #默認的級別,就是出現剛纔的提示了。如果連接和key不匹配,給出提示,並拒絕登錄。
3.StrictHostKeyChecking=yes #最安全的級別,如果連接與key不匹配,就拒絕連接,不會提示詳細信息。
對於我來說,在內網的進行的一些測試,爲了方便,選擇最低的安全級別。在.ssh/config(或者/etc/ssh/ssh_config)中配置:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null (注:這裏爲了簡便,將knownhostfile設爲/dev/null,就不保存在known_hosts中了)
切換到下一個標籤頁 – Control+Tab
切換到上一個標籤頁 – Control+Shift+Tab
向下滾動一屏 – 空格
向上滾動一屏 – Shift+空格
焦點移到地址欄 – Command+L
新增標籤頁 – Command+T
在新標籤頁打開鏈接 – Command+點按鏈接
將鏈接添加到閱讀列表 – Shift+點按鏈接
閱讀和查看網頁的快捷鍵 7 個
去除格式,在閱讀器中閱讀 – Command+Shift+R
增大文字大小 – Command+加號
減小文字大小 – Command+減號
默認文字大小 – Command+0
進入或退出全屏 – Command+Escape
打開主頁 – Command+Shift+H
郵寄當前頁面的鏈接 – Command+Shift+I
緩存、載入頁面、源代碼和彈出窗口的快捷鍵 5 個
清空瀏覽器緩存 – Command+Option+E
重新載入頁面 – Command+R
停止載入頁面 – Command+.
查看頁面源代碼 – Command+Option+U
禁止彈出窗口 – Command+Shift+K
查找並在找到的項目中導航的快捷鍵 3 個
在頁面上查找文字 – Command+F
向下瀏覽找到的項目 – 回車
向上瀏覽找到的項目 – Shift+回車
工具欄、歷史記錄和閱讀列表的快捷鍵 8 個
隱藏或顯示工具欄 – Command+i
隱藏或顯示書籤欄 – Command+Shift+B
隱藏或顯示狀態欄 – Command+/
隱藏或顯示標籤頁欄 – Command+Shift+T
顯示 Top Sites – Command+Option+1
顯示歷史記錄 – Command+Option+2
顯示閱讀列表 – Command+Shift+L
顯示下載內容 – Command+Option+L
附加多點觸摸手勢 4 個
後退 – 兩指向左滑動
前進 – 兩指向右滑動
control+u
如果你在一條終端命令中發現有輸入錯誤的話,那麼用 control+u 快捷鍵可以直接刪除這一整條命令,然後你就可以重新輸入。
mkdir
很多人可能會很熟悉在 mkdir 是在「終端」中創建文件夾的工具,比如mkdir ./abc,即可在當前目錄創建一個名爲 abc 的文件夾。但如果想要建立更多層級的目錄呢?就需要用 mkdir -p 命令來解決,比如:
mkdir -p ./abc/123/guomii/xxx
!!
有時候,你寫了一條長長的命令,按回車之後發現沒有執行權限,需要在命令前添加 sudo,這時你可能要崩潰。不過其實可以用 sudo !! 這條命令來解決,它執行的效果和 sudo {上一條命令} 是一樣的。
另外,! 在「終端」中還有一個妙用——它可以用來執行你最後一次以特定字母開頭的命令。比如你在一個「終端」會話中已經執行過ls,mkdir,find,chown 等多條命令。這時你可以用 !l 來執行 ls,用 !f 來執行 find…大家都看懂了吧?
history
用 history 命令可以顯示你最近執行過的命令歷史記錄,你還可以指定顯示條數,比如 history 20即可顯示最近的20條命令歷史記錄。此外,你還可以篩選包含特定字符的命令,比如用 history | grep mk,就可以只顯示歷史記錄中包含 mk 的命令。
&&
&& 可以將兩條命令合併成一條命令,其實我們在之前的文章中,已經多次應用過這種寫法了,大家可以返回去看看。
reset
reset 的作用很簡單——將目前「終端」屏幕上的內容清空,就好像剛剛打開終端一樣。
======================================================================================
首先用
1:iwlist eth1 scanning 查看無線路由
2:iwconfig eth1 essid "無線路由的名稱"
3: ifconfig eth1 IP
4: route add default gw 網關
對於帶密碼的路由器,設置如下:
1:iwconfig eth1 key s:密碼
2:iwconfig eth1 key open
3:ifconfig eth1 essid "名稱"
4:ifconfig eth1 IP
5:route add default gw 網關
---------------------------------------------------
Mac停查看進程佔用端口情況
lsof -i -n
---------------------------------------------------