PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

ssh服务有哪些功能——登陆远程主机、sftp、文件异地备份

齐天大圣
齐天大圣 原创
2020-11-20 11:37:19 2340浏览

今天和大家介绍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教程栏目!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。