欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  运维

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

程序员文章站 2022-03-05 15:22:54
...
今天和大家介绍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、文件异地备份的详细内容,更多请关注其它相关文章!

相关标签: ssh