ssh服務(wù)有哪些功能——登陸遠(yuǎn)程主機(jī)、sftp、文件異地備份

今天和大家介紹ssh的幾個(gè)應(yīng)用,常見的應(yīng)用有使用ssh連接遠(yuǎn)程的服務(wù)器、使用sftp進(jìn)行文件的傳輸、通過ssh進(jìn)行異地備份等。

連接遠(yuǎn)程主機(jī)

連接遠(yuǎn)程服務(wù)器這是我們最常用的功能了,連接上遠(yuǎn)程的服務(wù)器,然后對服務(wù)器進(jìn)行管理。

如何你的客戶機(jī)是windows的話,那么你需要安裝終端工具,比如xshell、Terminator、Tmux等,然后使用這些終端工具連上遠(yuǎn)程服務(wù)器。如何客戶機(jī)是linux的話,那么可以直接使用ssh命令。

下面給出常用的命令用法

  • 連接遠(yuǎn)程主機(jī) ?ssh [賬號(hào)@]IP [-p 指定端口]

  • 不登陸,直接發(fā)送一個(gè)命令給遠(yuǎn)程服務(wù)器執(zhí)行 ssh -f [賬號(hào)@]IP [-p 指定端口] 命令

下面來演示遠(yuǎn)程連接服務(wù)器

#?ssh?121.196.12.64 The?authenticity?of?host?'121.196.12.64?(121.196.12.64)'?can't?be?established. ECDSA?key?fingerprint?is?SHA256:wx0RHE8fcCoad6YKw0Ex4NE+QjwRiTYxC2s2g/DqPUU. ECDSA?key?fingerprint?is?MD5:43:2c:7a:12:24:1d:86:3a:b0:a0:b7:95:c2:cf:7b:ab. Are?you?sure?you?want?to?continue?connecting?(yes/no)?

第一次連接時(shí),會(huì)詢問你是否要進(jìn)行連接,這里輸入yes。輸入yes之后,就要求你輸入密碼了

root@121.196.12.64's?password:? Welcome?to?Alibaba?Cloud?Elastic?Compute?Service?! Activate?the?web?console?with:?systemctl?enable?--now?cockpit.socket Last?login:?Thu?Nov?19?16:25:42?2020?from?114.103.36.247

當(dāng)正確輸入密碼后,就成功了連接上了遠(yuǎn)程服務(wù)器。

當(dāng)遠(yuǎn)程主機(jī)的公鑰被接受以后,它就會(huì)被保存在文件$HOME/.ssh/known_hosts之中。下次再連接這臺(tái)主機(jī),系統(tǒng)就會(huì)認(rèn)出它的公鑰已經(jīng)保存在本地了,從而跳過警告部分,直接提示輸入密碼。

每個(gè)SSH用戶都有自己的known_hosts文件,此外系統(tǒng)也有一個(gè)這樣的文件,通常是/etc/ssh/ssh_known_hosts,保存一些對所有用戶都可信賴的遠(yuǎn)程主機(jī)的公鑰。

如果想退出登陸的話,輸出exit即可等出登陸

#?exit logout Connection?to?121.196.12.64?closed.

模擬ftp的文件傳輸方式:SFTP

使用SSH是用來進(jìn)行操控遠(yuǎn)程主機(jī)的,如果只是想從遠(yuǎn)程服務(wù)器的資源進(jìn)行下載,或上傳本地文件到服務(wù)器上,那么使用sftp或scp就行了。這兩個(gè)命令也是通過ssh的端口。

通過sftp登陸

#?sftp?root@121.196.12.64 root@121.196.12.64's?password:? Connected?to?121.196.12.64. sftp&gt;????<p>針對sftp的交互模式,有非常多的命令,下面給出一些常見的交互命令,從三大類來看。</p>
  • 針對遠(yuǎn)程服務(wù)器的命令:如ls、pwd、mkdir等

  • 針對本機(jī)的命令:lcd、lls等

  • 關(guān)于上傳下載的命令:put(上傳文件)、get(下載文件)。

下面演示上傳及下載操作。

#?從遠(yuǎn)程服務(wù)器下載一個(gè)文件到本地 sftp&gt;?ls 1.txt????????install.sh??? sftp&gt;?get?1.txt Fetching?/root/1.txt?to?1.txt /root/1.txt?????????????????????????????????????????????????????????????????????????100%????6?????0.0KB/s???00:00???? sftp&gt;?lls 1.txt??install.sh??job1.php??job2.php??job3.php??learnshell??logrotate_learn.log??logrotate_learn.log.1.gz  #?上傳本地文件到服務(wù)器上 sftp&gt;?put?job1.php Uploading?job1.php?to?/root/job1.php job1.php????????????????????????????????????????????????????????????????????????????100%???34?????0.3KB/s???00:00???? sftp&gt;?ls 1.txt????????install.sh???job1.php

文件異地傳輸:SCP

SCP這個(gè)命令是可以用來進(jìn)行異地備份用的。SCP最簡單的用法如下

#?上傳文件 scp?[-pr]?[-l?速率]?file?[賬號(hào)@]主機(jī):目錄名? #?下載文件 scp?[-pr]?[-l?速率]?[賬號(hào)@]主機(jī):file?目錄名

選項(xiàng)與參數(shù):

  • -p 保留文件屬性

  • -r 遞歸操作

  • -l 限制速率,后面接數(shù)值;如1024則表示1024k bytes/s

對于重要文件的備份,遵循一個(gè)原則“永遠(yuǎn)不要把雞蛋都放在一個(gè)籃子里”。除了本地備份外,我們還應(yīng)該進(jìn)行異地備份。經(jīng)常使用scp命令加上系統(tǒng)的定時(shí)任務(wù),來進(jìn)行異地備份,如:

*?2?1?*?*?scp?-rp?root@101.*.*.185:/backup? &gt;?/root/backup/scp_$(date?+$Y%m%d)??1&gt;/dev/null?2&gt;&amp;1

更多相關(guān)技術(shù)文章,請?jiān)L問linux教程欄目!

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊13 分享