首頁 >運維 >linux運維 >ssh服務有哪些功能-登陸遠端主機、sftp、檔案異地備份

ssh服務有哪些功能-登陸遠端主機、sftp、檔案異地備份

齐天大圣
齐天大圣原創
2020-11-20 11:37:192622瀏覽

今天和大家介紹ssh的幾個應用,常見的應用有使用ssh連接遠端的伺服器、使用sftp進行檔案的傳輸、透過ssh進行異地備份等。

連接遠端主機

連接遠端伺服器這是我們最常用的功能了,連接上遠端的伺服器,然後對伺服器進行管理。

如何你的客戶機是windows的話,那你需要安裝終端工具,像是xshell、Terminator、Tmux等,然後使用這些終端工具連接遠端伺服器。如何客戶機是linux的話,那麼可以直接使用ssh指令。

下面給出常用的指令用法

  • 連接遠端主機 ssh [帳號@]IP [-p 指定連接埠]

  • 不登陸,直接發送一個指令給遠端伺服器執行ssh -f [帳號@]IP [-p 指定連接埠] 指令

下面來示範遠端連線伺服器

# 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)?

第一次連接時,會詢問你是否要進行連接,這裡輸入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

當正確輸入密碼後,就成功了連接上了遠端伺服器。

當遠端主機的公鑰被接受以後,它就會被保存在檔案$HOME/.ssh/known_hosts之中。下次再連接這台主機,系統就會認出它的公鑰已經保存在本地了,從而跳過警告部分,直接提示輸入密碼。

每個SSH用戶都有自己的known_hosts文件,此外系統也有一個這樣的文件,通常是/etc/ssh/ssh_known_hosts,保存一些對所有用戶都可信賴的遠端主機的公鑰。

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

# exit
logout
Connection to 121.196.12.64 closed.

#模擬ftp的檔案傳輸方式:SFTP

使用SSH是用來進行操控遠端主機的,如果只是想從遠端伺服器的資源進行下載,或上傳本地檔案到伺服器上,那麼使用sftp或scp就行了。這兩個命令也是通過ssh的連接埠。

透過sftp登陸

# sftp root@121.196.12.64
root@121.196.12.64's password: 
Connected to 121.196.12.64.
sftp> ?  <== 输入?可查看交互命令的帮助信息

針對sftp的互動模式,有非常多的指令,下面給出一些常見的互動指令,從三大類別來看。

  • 針對遠端伺服器的指令:如ls、pwd、mkdir等

  • 針對本機的指令:lcd、lls等

  • 關於上傳下載的命令:put(上傳檔案)、get(下載檔案)。

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

# 从远程服务器下载一个文件到本地
sftp> ls
1.txt        install.sh   
sftp> get 1.txt
Fetching /root/1.txt to 1.txt
/root/1.txt                                                                         100%    6     0.0KB/s   00:00    
sftp> lls
1.txt  install.sh  job1.php  job2.php  job3.php  learnshell  logrotate_learn.log  logrotate_learn.log.1.gz

# 上传本地文件到服务器上
sftp> put job1.php
Uploading job1.php to /root/job1.php
job1.php                                                                            100%   34     0.3KB/s   00:00    
sftp> ls
1.txt        install.sh   job1.php

檔案異地傳輸:SCP

#SCP這個指令是可以用來進行異地備份用的。 SCP最簡單的用法如下

# 上传文件
scp [-pr] [-l 速率] file [账号@]主机:目录名 
# 下载文件
scp [-pr] [-l 速率] [账号@]主机:file 目录名

選項與參數:

  • #-p 保留檔案屬性

  • ##-r 遞歸操作

  • -l 限制速率,後面接數值;如1024則表示1024k bytes/s

對於重要文件的備份,遵循一個原則「永遠不要把雞蛋都放在一個籃子裡」。除了本地備份外,我們還應該進行異地備份。經常使用scp指令加上系統的定時任務,來進行異地備份,如:

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

更多相關技術文章,請造訪

linux教學欄位!

以上是ssh服務有哪些功能-登陸遠端主機、sftp、檔案異地備份的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn