佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Linux系統(tǒng)中SSH命令的使用教程

Linux系統(tǒng)中SSH命令的使用教程

熱門(mén)標(biāo)簽:美團(tuán) 解決方案 家政服務(wù)網(wǎng)絡(luò) 電話機(jī)器人搭建 服務(wù)器配置 外呼系統(tǒng) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 硅谷的囚徒呼叫中心

ssh用于登錄遠(yuǎn)程主機(jī), 并且在遠(yuǎn)程主機(jī)上執(zhí)行命令,它的目的是替換rlogin和rsh,同時(shí)在不安全的網(wǎng)絡(luò)之上,兩個(gè)互不信任的主機(jī)之間, 提供加密的, 安全的通信連接.先來(lái)看一下ssh命令的一些參數(shù):

參數(shù)

-a
    禁止轉(zhuǎn)發(fā)認(rèn)證代理的連接.
   
-A
    允許轉(zhuǎn)發(fā)認(rèn)證代理的連接. 可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)設(shè)定這個(gè)參數(shù).
    代理轉(zhuǎn)發(fā)須謹(jǐn)慎. 某些用戶能夠在遠(yuǎn)程主機(jī)上繞過(guò)文件訪問(wèn)權(quán)限 (由于代理的 UNIX 域 socket), 他們可以通過(guò)轉(zhuǎn)發(fā)的連接訪問(wèn)本地代理. 攻擊者不可能從代理獲得密鑰內(nèi)容, 但是他們能夠操作這些密鑰, 利用加載到代理上 的身份信息通過(guò)認(rèn)證.
   
-b bind_address
    在擁有多個(gè)接口或地址別名的機(jī)器上, 指定收發(fā)接口.
   
-c blowfish|3des|des
    選擇加密會(huì)話的密碼術(shù). 3des 是默認(rèn)算法. 3des (triple-des) 用三支不同的密鑰做加密-解密-加密三次運(yùn)算, 被認(rèn)為比較可靠. blowfish 是一種快速的分組加密術(shù)(block cipher), 非常安全, 而且速度比 3des 快的多. des 僅支持 客戶端, 目的是能夠和老式的不支持 3des 的協(xié)議第一版互操作. 由于其密碼算法上的弱點(diǎn), 強(qiáng)烈建議避免使用.
   
-c cipher_spec
    另外, 對(duì)于協(xié)議第二版, 這里可以指定一組用逗號(hào)隔開(kāi), 按優(yōu)先順序排列的密碼術(shù). 詳見(jiàn) Ciphers
   
-e ch|^ch|none
    設(shè)置 pty 會(huì)話的 escape 字符 (默認(rèn)字符: `~' ) . escape 字符只在行首有效, escape 字符后面跟一個(gè)點(diǎn) (`.' ) 表示結(jié)束連接, 跟一個(gè) control-Z 表示掛起連接(suspend), 跟 escape 字符自己 表示輸出這個(gè)字符. 把這個(gè)字符設(shè)為 ``none 則禁止 escape 功能, 使會(huì)話完全透明.

-f
    要求 在執(zhí)行命令前退至后臺(tái). 它用于當(dāng) 準(zhǔn)備詢問(wèn)口令或密語(yǔ), 但是用戶希望它在后臺(tái)進(jìn)行. 該選項(xiàng)隱含了 -n 選項(xiàng). 在遠(yuǎn)端機(jī)器上啟動(dòng) X11 程序的推薦手法就是類(lèi)似于 ssh -f host xterm 的命令.
   
-g
    允許遠(yuǎn)端主機(jī)連接本地轉(zhuǎn)發(fā)的端口.
   
-i identity_file
    指定一個(gè) RSA 或 DSA 認(rèn)證所需的身份(私鑰)文件. 默認(rèn)文件是協(xié)議第一版的 $HOME/.ssh/identity 以及協(xié)議第二版的 $HOME/.ssh/id_rsa 和 $HOME/.ssh/id_dsa 文件. 也可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)指定身份文件. 可以同時(shí)使用多個(gè) -i 選項(xiàng) (也可以在配置文件中指定多個(gè)身份文件).
   
-I smartcard_device
    指定智能卡(smartcard)設(shè)備. 參數(shù)是設(shè)備文件, 能夠用它和智能卡通信, 智能卡里面存儲(chǔ)了用戶的 RSA 私鑰.
   
-k
    禁止轉(zhuǎn)發(fā) Kerberos 門(mén)票和 AFS 令牌. 可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)設(shè)定這個(gè)參數(shù).
   
-l login_name
    指定登錄遠(yuǎn)程主機(jī)的用戶. 可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)設(shè)定這個(gè)參數(shù).
   
-m mac_spec
    另外, 對(duì)于協(xié)議第二版, 這里可以指定一組用逗號(hào)隔開(kāi), 按優(yōu)先順序排列的 MAC(消息驗(yàn)證碼)算法 (message authentication code). 詳情以 MACs 為關(guān)鍵字查詢.
   
-n
    把 stdin 重定向到 /dev/null (實(shí)際上防止從 stdin 讀取數(shù)據(jù)). 在后臺(tái)運(yùn)行時(shí)一定會(huì)用到這個(gè)選項(xiàng). 它的常用技巧是遠(yuǎn)程運(yùn)行 X11 程序. 例如, ssh -n shadows.cs.hut.fi emacs 將會(huì)在 shadows.cs.hut.fi 上啟動(dòng) emacs, 同時(shí)自動(dòng)在加密通道中轉(zhuǎn)發(fā) X11 連接. 在后臺(tái)運(yùn)行. (但是如果 要求口令或密語(yǔ), 這種方式就無(wú)法工作; 參見(jiàn) -f 選項(xiàng).)
   
-N
    不執(zhí)行遠(yuǎn)程命令. 用于轉(zhuǎn)發(fā)端口. (僅限協(xié)議第二版)
   
-o option
    可以在這里給出某些選項(xiàng), 格式和配置文件中的格式一樣. 它用來(lái)設(shè)置那些沒(méi)有命令行開(kāi)關(guān)的選項(xiàng).
   
-p port
    指定遠(yuǎn)程主機(jī)的端口. 可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)設(shè)定這個(gè)參數(shù).
   
-q
    安靜模式. 消除所有的警告和診斷信息.
   
-s
    請(qǐng)求遠(yuǎn)程系統(tǒng)激活一個(gè)子系統(tǒng). 子系統(tǒng)是 SSH2 協(xié)議的一個(gè)特性, 能夠協(xié)助 其他應(yīng)用程序(如 sftp)把SSH用做安全通路. 子系統(tǒng)通過(guò)遠(yuǎn)程命令指定.
   
-t
    強(qiáng)制分配偽終端. 可以在遠(yuǎn)程機(jī)器上執(zhí)行任何全屏幕(screen-based)程序, 所以非常有用, 例如菜單服務(wù). 并聯(lián)的 -t 選項(xiàng)強(qiáng)制分配終端, 即使 沒(méi)有本地終端.
   
-T
    禁止分配偽終端.
   
-v
    冗詳模式. 使 打印關(guān)于運(yùn)行情況的調(diào)試信息. 在調(diào)試連接, 認(rèn)證和配置問(wèn)題時(shí)非常有用. 并聯(lián)的 -v 選項(xiàng)能夠增加冗詳程度. 最多為三個(gè).
   
-x
    禁止 X11 轉(zhuǎn)發(fā).
   
-X
    允許 X11 轉(zhuǎn)發(fā). 可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)設(shè)定這個(gè)參數(shù).
    應(yīng)該謹(jǐn)慎使用 X11 轉(zhuǎn)發(fā). 如果用戶在遠(yuǎn)程主機(jī)上能夠繞過(guò)文件訪問(wèn)權(quán)限 (根據(jù)用戶的X授權(quán)數(shù)據(jù)庫(kù)), 他就可以通過(guò)轉(zhuǎn)發(fā)的連接訪問(wèn)本地 X11 顯示器. 攻擊者可以據(jù)此采取行動(dòng), 如監(jiān)視鍵盤(pán)輸入等.
   
-C
    要求進(jìn)行數(shù)據(jù)壓縮 (包括 stdin, stdout, stderr 以及轉(zhuǎn)發(fā) X11 和 TCP/IP 連接 的數(shù)據(jù)). 壓縮算法和 gzip(1) 的一樣, 協(xié)議第一版中, 壓縮級(jí)別 ``level 用 CompressionLevel 選項(xiàng)控制. 壓縮技術(shù)在 modem 線路或其他慢速連接上很有用, 但是在高速網(wǎng)絡(luò)上反而 可能降低速度. 可以在配置文件中對(duì)每個(gè)主機(jī)單獨(dú)設(shè)定這個(gè)參數(shù). 另見(jiàn) Compression 選項(xiàng).
   
-F configfile
    指定一個(gè)用戶級(jí)配置文件. 如果在命令行上指定了配置文件, 系統(tǒng)級(jí)配置文件 (/etc/ssh/ssh_config ) 將被忽略. 默認(rèn)的用戶級(jí)配置文件是 $HOME/.ssh/config
   
-L port:host:hostport
    將本地機(jī)(客戶機(jī))的某個(gè)端口轉(zhuǎn)發(fā)到遠(yuǎn)端指定機(jī)器的指定端口. 工作原理是這樣的, 本地機(jī)器上分配了一個(gè) socket 偵聽(tīng) port 端口, 一旦這個(gè)端口上有了連接, 該連接就經(jīng)過(guò)安全通道轉(zhuǎn)發(fā)出去, 同時(shí)遠(yuǎn)程主機(jī)和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說(shuō)明: port/host/hostport
   
-R port:host:hostport
    將遠(yuǎn)程主機(jī)(服務(wù)器)的某個(gè)端口轉(zhuǎn)發(fā)到本地端指定機(jī)器的指定端口. 工作原理是這樣的, 遠(yuǎn)程主機(jī)上分配了一個(gè) socket 偵聽(tīng) port 端口, 一旦這個(gè)端口上有了連接, 該連接就經(jīng)過(guò)安全通道轉(zhuǎn)向出去, 同時(shí)本地主機(jī)和 host 的 hostport 端口建立連接. 可以在配置文件中指定端口的轉(zhuǎn)發(fā). 只有用 root 登錄遠(yuǎn)程主機(jī) 才能轉(zhuǎn)發(fā)特權(quán)端口. IPv6 地址用另一種格式說(shuō)明: port/host/hostport
   
-D port
    指定一個(gè)本地機(jī)器 ``動(dòng)態(tài)的 應(yīng)用程序端口轉(zhuǎn)發(fā). 工作原理是這樣的, 本地機(jī)器上分配了一個(gè) socket 偵聽(tīng) port 端口, 一旦這個(gè)端口上有了連接, 該連接就經(jīng)過(guò)安全通道轉(zhuǎn)發(fā)出去, 根據(jù)應(yīng)用程序的協(xié)議可以判斷出遠(yuǎn)程主機(jī)將和哪里連接. 目前支持 SOCKS4 協(xié)議, 將充當(dāng) SOCKS4 服務(wù)器. 只有 root 才能轉(zhuǎn)發(fā)特權(quán)端口. 可以在配置文件中指定動(dòng)態(tài)端口的轉(zhuǎn)發(fā).
   
-1
    強(qiáng)制 只使用協(xié)議第一版.
   
-2
    強(qiáng)制 只使用協(xié)議第二版.
   
-4
    強(qiáng)制 只使用 IPv4 地址.
   
-6
    強(qiáng)制 只使用 IPv6 地址.

基本用法

最簡(jiǎn)單的 SSH 命令只需要指定用戶名和主機(jī)名參數(shù)即可. 主機(jī)名可以是 IP 地址或者域名. 命令格式如下:

復(fù)制代碼
代碼如下:

$ ssh user@hostname

比如要在我的局域網(wǎng)內(nèi)登錄一個(gè)樹(shù)莓派系統(tǒng), 只需要簡(jiǎn)單的在命令行輸入如下命令:

復(fù)制代碼
代碼如下:

$ ssh pi@10.42.0.47

命令中的 pi 和 10.42.0.47 分別是我的樹(shù)莓派系統(tǒng)的用戶名和局域網(wǎng) IP 地址. 實(shí)際使用時(shí)主機(jī)名需要改成你的目標(biāo)主機(jī)(局域網(wǎng)內(nèi)或者遠(yuǎn)程)的 IP 地址.

如果你能夠成功登陸, 那么下面的內(nèi)容對(duì)你來(lái)說(shuō)就輕而易舉了.

使用其他端口

SSH 默認(rèn)連接到目標(biāo)主機(jī)的 22 端口上,但是由于各種原因你可能需要連接到其他端口.

復(fù)制代碼
代碼如下:

$ ssh -p 10022 user@hostname

如上命令就是通過(guò)添加參數(shù) -p 指定端口號(hào)為 10022.

遠(yuǎn)程執(zhí)行命令

有時(shí)在遠(yuǎn)程主機(jī)執(zhí)行一條命令并顯示到本地, 然后繼續(xù)本地工作是很方便的. SSH 就能滿足這個(gè)需求:

復(fù)制代碼
代碼如下:

$ ssh pi@10.42.0.47 ls -l

比如上面這個(gè)命令就會(huì)枚舉遠(yuǎn)程主機(jī)的主目錄內(nèi)容并在本地顯示. 是不是很酷? 你可以嘗試下其他命令看看.

掛載遠(yuǎn)程文件系統(tǒng)

另外一個(gè)很贊的基于 SSH 的工具叫 sshfs. sshfs 可以讓你在本地直接掛載遠(yuǎn)程主機(jī)的文件系統(tǒng).

復(fù)制代碼
代碼如下:

$ sshfs -o idmap=user user@hostname:/home/user ~/Remote

比如下面這條命令:

復(fù)制代碼
代碼如下:

$ sshfs -o idmap=user pi@10.42.0.47:/home/pi ~/Pi

該命令就將遠(yuǎn)程主機(jī) pi 用戶的主目錄掛載到本地主目錄下的 Pi 文件夾.

要詳細(xì)了解可以參考 sshfs 教程.

X11 圖形界面

假如現(xiàn)在你想要在遠(yuǎn)程主機(jī)運(yùn)行一個(gè)圖形界面的程序, SSH 已經(jīng)幫你想到了! 用前面提到的 SSH 基本命令加上參數(shù) -X 連接到遠(yuǎn)程主機(jī)即可開(kāi)啟 X11 轉(zhuǎn)發(fā)功能. 登錄后你可能覺(jué)得沒(méi)什么差別, 但是當(dāng)你運(yùn)行一個(gè)圖形界面程序后就會(huì)發(fā)現(xiàn)其中的不同的.

復(fù)制代碼
代碼如下:

$ ssh -X pi@10.42.0.47
$ pistore

如果你想在運(yùn)行圖形界面程序的同時(shí)做些別的事情, 只需要簡(jiǎn)單地在命令末尾加一個(gè) 符號(hào).

復(fù)制代碼
代碼如下:

$ pistore

轉(zhuǎn)義字符

SSH 提供了多樣的轉(zhuǎn)義字符功能. 用 SSH 連接到任意一臺(tái)遠(yuǎn)程主機(jī)然后輸入 ~? 你就可以看到支持的轉(zhuǎn)義字符和功能說(shuō)明列表. 以下例子展示了 ~# 和 ~C 的效果.

配置 SSH

如果你需要改變 SSH 的配置, 請(qǐng)用你喜好的文本編輯器打開(kāi) /etc/ssh/sshd_config 進(jìn)行編輯. 比如你想改變登陸的標(biāo)語(yǔ), 在配置文件中找到下面這行:

復(fù)制代碼
代碼如下:

#Banner none

刪除 # 字符(取消該行的注釋), 將 none 替換為包含你期望顯示內(nèi)容的文件地址. 修改后該行應(yīng)該類(lèi)似這樣:

復(fù)制代碼
代碼如下:

Banner /etc/issue

在配置文件 /etc/ssh/sshd_config 中你還可以找到端口號(hào), 空閑超時(shí)時(shí)間等配置項(xiàng). 配置項(xiàng)大都比較容易理解, 但是保險(xiǎn)起見(jiàn)在你修改一些不是很確定的配置項(xiàng)時(shí)最好參考下 SSH 的幫助文檔.

構(gòu)建 ssh 密鑰對(duì)

運(yùn)行以下命令創(chuàng)建密鑰對(duì):

復(fù)制代碼
代碼如下:

$ ssh-keygen -t dsa

此命令會(huì)要求你輸入密碼(可以留空), 然后就會(huì)生成密鑰并會(huì)顯示一張?jiān)撁荑€對(duì)應(yīng)的隨機(jī)圖.

尋找主機(jī)密鑰

在你準(zhǔn)備添加密鑰之前不妨先用以下命令看看是否已經(jīng)添加了對(duì)應(yīng)主機(jī)的密鑰了.

復(fù)制代碼
代碼如下:

$ ssh-keygen -F 10.42.0.47

刪除主機(jī)密鑰

某些情況下, 比如主機(jī)地址更改或者不再使用某個(gè)密鑰, 你就可能需要?jiǎng)h除某個(gè)密鑰.

復(fù)制代碼
代碼如下:

$ ssh-keygen -R 10.42.0.47

用以上命令就可刪除. 這比手動(dòng)在 ~/.ssh/known_hosts 文件中刪除要方便很多.

總結(jié)

通過(guò)以上的內(nèi)容你應(yīng)該可以輕松使用 SSH 了. SSH 還有很多功能值得你去發(fā)掘, 這就要看你的想象力了。

標(biāo)簽:南昌 韶關(guān) 烏蘭察布 臨沂 撫州 北海 邢臺(tái) 防城港

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux系統(tǒng)中SSH命令的使用教程》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    长沙市| 长宁县| 双鸭山市| 泽库县| 紫阳县| 广宗县| 舟曲县| 德阳市| 兴仁县| 兖州市| 新泰市| 如皋市| 庆城县| 武山县| 新河县| 阳春市| 旬邑县| 瓦房店市| 汝城县| 三江| 富锦市| 东兰县| 九寨沟县| 新建县| 阿拉善左旗| 石阡县| 惠东县| 桂阳县| 钟祥市| 潜山县| 阿拉善左旗| 韶关市| 上蔡县| 新巴尔虎右旗| 新巴尔虎左旗| 侯马市| 清水县| 榆社县| 松滋市| 江孜县| 汾阳市|