遠程登陸指令 sshhtml
ssh 是一個用於登陸遠程主機並在遠程主機上執行命令的程序。ssh 設計的本意在於在一個不肯定的網絡環境下爲兩個互不信任的主機提供加密通訊功能。在 Linux 桌面版本上,通常內置有 ssh 命令供用戶直接使用( 提供的是 ssh 客戶端 )。在Windows環境下,用戶須要下載獨立的提供 ssh 功能的軟件(如 Putty )才能使用相似功能。linux
ssh經常使用參數:ubuntu
ssh [Options] [user@]hostname [command] 經常使用參數: -1 // 強制 ssh 使用初版協議( protocol version 1),默認使用的是第二版協議 -2 // 強制 ssh 使用第二版協議( protocol version 2) -4 // 只使用IPv4地址 -6 // 只使用IPv6地址 -p xxx // 指定遠程主機上使用的端口號( 默認使用的端口爲 22 )
ssh經常使用用法安全
(1)遠程登陸服務器
ssh hostname //其中 hostname 能夠爲IP地址或域名。登陸時會要求提供用戶名和密碼網絡
ssh user@hostname //同上,如 ssh yh@1.2.3.4 .在指定用戶名後,登陸時僅提供密碼便可ssh
(2)遠程執行命令ide
ssh hostname command // 遠程執行 command 命令並返回顯示結果,而不是顯示登陸窗口,如 ssh 1.2.3.4 ls -l ,在驗證用戶名和密碼後,即會返回在遠程主機上執行 ls -l 命令的結果。工具
其餘post
默認狀況下,Linux 桌面版本中僅安裝了 ssh 客戶端,而沒有安裝 ssh 服務端。即主機僅能鏈接遠程服務端,而不能處理其餘主機的鏈接請求。用戶可經過以下命令安裝 ssh 服務端。
sudo apt-get install openssh-server //安裝 ssh 服務端 sudo apt-get install openssh-client //安裝 ssh 客戶端
安裝成功後,便可經過 sshd 命令運行服務器端程序。sshd 默認的配置文件位於 /etc/ssh/sshd_config ,用戶能夠經過修改其中的內容修改服務器端的默認選項( 經過 man sshd_config 瞭解具體信息),經常使用的修改包括修改 ssh 服務使用的默認端口( 默認爲 22 )。
在使用 ssh 服務登陸至遠程主機後,僅能經過一個終端界面進行操做。用戶可藉助一些終端複用軟件如 tmux / screen 命令等進行終端複用,能夠參考筆者的博文screen 命令基本操做教程和終端複用工具 tmux 基本操做教程。
參考資料
(1)ssh manpage,經過 man ssh 查看
(2)更多 ssh 功能的使用,能夠參考 Linux 中國:Linux 下 SSH 命令實例指南
(3)Ubuntu Documentation OpenSSH Server
(4)更多 ssh 參數解釋,可參考 ssh
文件傳輸指令scp
scp( secure copy )是一個遠程文件拷貝程序,它容許主機之間經過網絡實現文件的拷貝。scp 命令使用 ssh 進行數據傳輸,並提供與 ssh 相同的安全性保護,故而使用時的驗證與 ssh 命令相似。Linux 和 Mac 提供內置的 scp 工具,而 Windows 環境下則須要藉助諸如 pscp 等軟件實現該功能。
scp經常使用參數
scp [Options] source dest
-P //指定進行數據傳輸使用的端口號,P爲大寫 -r //遞歸複製整個目錄 -q //安靜模式,不顯示額外信息 -v //詳細模式,輸出 scp 和 ssh 的詳細運行過程信息,可用於調試
scp經常使用用法
(1)複製本機文件至遠端主機
scp local_path username@host_address:remote_path //複製本地文件至遠端主機
如 scp ~/test.txt yh@127.0.0.1:/home/yh ,將本地當前用戶目錄下的test.txt文件複製至遠程用戶 yh 的主目錄下。其中,能夠不指定遠端用戶名(則在驗證時輸入用戶名),遠端文件路徑既能夠爲目錄路徑,也可爲最終的文件路徑,表示複製後的文件名。
(2)複製遠端主機文件至本地主機
scp username@host_address:remote_path local_path //複製遠端主機文件至本地
如 scp yh@127.0.0.1:~/test.txt /home/yh ,將遠端用戶 yh 的主目錄下的 test.txt 文件複製至本地用戶 yh 的主目錄中。
以上命令中,若指定了用戶名,則後續僅需輸入密碼進行驗證,而若未指定用戶名,則後續須要輸入用戶名和密碼進行驗證。用戶能夠經過 -P 參數指定使用特定的端口,使用 -r 命令對某個目錄進行遞歸的複製操做。
其餘
Windows環境下,須要安裝如 pscp 等軟件使用 scp 相似的功能。可在這裏下載 pscp.exe 文件。
用戶可經過如下方式運行該文件:
(1) 將 pscp.exe 所在目錄路徑加入系統環境變量 Path 中,則可在任意命令行路徑下經過 pscp 命令執行 pscp.exe 程序;
(2) 切換命令行路徑至 pscp.exe 所在的目錄( 命令行下的 cd 命令 ,或直接在 pscp.exe 所在文件目錄界面中,按住 Shift ,右鍵 -> 在此打開命令行窗口 ),則可在命令行中經過 pscp 或 ./pscp.exe 執行 pscp.exe 程序;
Windows環境下 pscp 程序提供與 Linux 環境中 scp 命令類似的功能。
pscp local_path user@host_ip:dest_path //複製本地文件至遠端主機 pscp user@host_ip:file_path local_path //複製遠端主機文件至本地主機
值得注意的是,Windows環境下的文件路徑的格式爲 F:\Users\yh\Desktop,而對應的 Linux 環境下的路徑格式爲 /home/yh/ ,二者路徑的分割符是不同的。
參考資料
(1) scp manpage,經過 man scp 查看
(2)Linux scp 命令
另注:以上命令是以純命令行的方式進行本地主機與遠端服務器之間的交互,實際想要更加方便快捷的與服務器之間進行文件傳輸,能夠開啓遠程主機的 ftp server 服務,同時在本地主機上安裝諸如 FileZilla 等 ftp 客戶端軟件,經過這些客戶端軟件去鏈接遠程服務器,便可經過圖形界面的方式較爲便捷的使用本地主機與遠端服務器之間的文件交互功能。