久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Ubuntu下如何使用OpenSSH

177次閱讀
沒有評論

共計 2489 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 Ubuntu 下如何使用 OpenSSH,丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1. 私 key 登陸

無論你使用哪個客戶端軟件都會有設置使用 key 的選項,ssh 命令也不例外。默認情況下,ssh 會讀取用戶宿主目錄的.ssh 里的 id_rsa 這個文件。這里有個小插曲:筆者原來的 key 是用 secureCRT 生成的。保存的時候會提示是用 secureCRT 私有格式還是 openssh 格式。筆者當時用的 secureCRT 格式,放到這個目錄以后,你看那個著急啊,死活不好使。后來又用 secureCRT 重新保存成 openssh 格式才可以(重新保存不是重新生成喲,想想后面有那么多服務器要一個一個重新放上去就會沒有重新生成的欲望)。還有一點要注意的是,一定要是 id_rsa 這個文件名喲,不然的話急死你也不知道啥原因(當然了后面學習到使用配置文件的時候,你會知道還有 identity 和 id_dsa, 到時候想用啥名隨心所意)。再有就是這個文件的權限是 600,不然的話 ssh 也不會買帳的喲。

2. 指定用戶名

每個人都會有自己喜歡的用戶名,像筆者就喜歡用 rainbird,所以筆者登陸系統的時候用戶名也是 rainbird。而你連接的服務器不會判斷你當前的用戶名,然后給你建立一個帳號喲。默認使用“ssh ip”的時候。ssh 會判斷你當前是否有配置文件指定默認的用戶名,沒有的話再判斷你在命令里有沒有使用 ssh -l rainbird ip 或者 ssh rainbird@ip 這樣的格式,沒有的話,它就會默認取你當前系統登陸的用戶名。來連接遠程的系統。如果你每次連接的用戶要用的用戶名都一樣而又不是 rainbird 比如說 root 的話,每次都要輸入 - l 或者 user@ip 這樣的形式是不是很煩呢?反正輸入的東西越多效率就越低。前面有提到 ssh 會先判斷是否有配置文件。

經過筆者的學習發現:ssh 會讀取兩個配置文件:一個是~/.ssh/config,沒有的話就會去讀 /etc/ssh/ssh_config。呵呵,這也是 linux 的工作理念:每個用戶都會有自己個性的配置文件,所以用戶默認會使用統一的配置文件。抱著試試看的想法,筆者 vi ~/.ssh/config,寫入 User 竟發現講法高亮了,看來就是它,于是寫入:

User root

保存退出以后,再 ssh ip 的時候,竟發現真得以 root@ip 的形式連接了:

[rainbird@rainbird ~]$ssh 192.168.5.18

root@192.168.5.18 s password:

3. 指定連接的端口和密碼

在設定了默認連接的用戶名以后,筆者算是嘗到了甜頭。于是開始仔細研究 /etc/ssh/ssh_config 這個配置文件。筆者以前也只是知道有這么個文件,還真沒仔細的看過。這一研究不要緊,許多問題都迎刃而解。*** 引起筆者注意的兩行是:

#  Port 22

#  Protocol 1,2

這兩行的意思就是說,默認連接的端口是 22,默認連接使用的 ssh 協議 1,2 都可以。直接打開~/.ssh/config 把這兩行也加去:

Port 1222

Protocol 2

是不是又省去了很多東西呢?

4. 添加便于訪問的主機名

這點嚴格來說算不上是 ssh 命令獨有的。無論使用哪種客戶端軟件都會有保存會話的功能, 但是 ssh 命令有沒有讀取默認會話配置的功能呢?筆者也想了很長時間,但是沒找到解決辦法。其實筆者就是覺得每次都要 ssh xxx.xxx.xxx.xxx 有點太累,主要是筆者對數字天生不感冒。咋辦呢?老大說,你直接用域名不就得了?嗯?域名好記,但是好記是好記,也不短啊,咋辦呢?直接寫 hosts 得了!因為域名的出現是因為 hosts 不夠用了。在 hosts 夠用的情況下,為啥不用 hosts 呢?再說不但一勞永逸,還節省了解析時間,一舉兩得。于是乎:sudo vi /etc/hosts

xxx.xxx.xxx.xxx web

以后再訪問 web 的時候,直接 ssh web。嗯,有點符合 linux 的簡潔高效的思想了。

5.ssh 中文亂碼問題

世界真美好。豐富多彩,五彩繽紛。linux 下正常顯示中文的問題,一直是筆者最關心的問題。當使用 ssh 登陸到中文環境的 linux 服務器上時,中文還是亂碼。咋辦呢?這天生一對的東西,能不能解決這個問題呢?答案是肯定的。在 /etc/ssh/ssh_config 有這么一句話:

SendEnv LANG LC_ALL

這個選項默認是打開的,意思是發送系統語言環境。網上有說可以寫成 SendEnv LANG=en.US.UTF-8 LC_ALL=en.US.UTF-8。但是根據筆者的理解:當 LC_ALL 設置的時候,LANG 就算設置了也要服從 LC_ALL 的,所以筆者直接在~/.ssh/config 里加入了這句:

SendEnv LANG LC_ALL=en.US.UTF-8

哈哈,中文就正確顯示了。生活真美好!

6.ssh 客戶端啟用 ssh key 轉發

Linux 系統中有一個自動轉發 key 的功能,在遠程到一臺 linux 再 ssh 其它機器的時候可以用你本機的私 key 自動去驗證,極大的提高的工作效率和安全性。這個功能用普通的 ssh 命令可不可以實現呢?答案還是那么的肯定!但是要分兩步走,首先 vi ~/.ssh/config 加入:

ForwardAgent yes

然后再執行命令:

ssh-add

它會默認把~/.ssh/id_rsa 加到你的中轉代理里。哇卡卡,我胡漢三又回來了~~~

7. 防止斷開連接

ssh 服務端,出于安全和節省資源的考慮,會把一段時間不活動的會話自動斷開。雖然經過前面的改造你連接一臺機器已經是很省事的事兒了。但是出去抽根兒煙回來,就要再這么登陸一次,讓人感覺實在不爽。那咋辦呢?俗話說:上有政策,下有對策。

vi ~/.ssh/config

ServerAliveInterval=60

關于“Ubuntu 下如何使用 OpenSSH”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2489字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 剑川县| 固阳县| 信阳市| 南丰县| 武清区| 霍邱县| 枣庄市| 婺源县| 沙湾县| 赤城县| 玉门市| 曲阜市| 东方市| 浑源县| 惠水县| 迁西县| 田东县| 准格尔旗| 青铜峡市| 泊头市| 阳信县| 临澧县| 渭源县| 阿荣旗| 淮北市| 遂平县| 新田县| 象州县| 珠海市| 霞浦县| 当阳市| 普陀区| 海宁市| 庆元县| 达拉特旗| 航空| 霍州市| 南木林县| 聊城市| 庄河市| 阿勒泰市|