连接远程主机
连接远程服务器这是我们最常用的功能了,连接上远程的服务器,然后对服务器进行管理。
如何你的客户机是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更多