sftp 命令sftp是 SSH 提供的一个客户端应用程序,主要用来安全地访问 FTP。因为 FTP 是不加密协议,很不安全,sftp就相当于将 FTP 放入了 SSH。下面的命令连接 FTP 主机。$ sftp username@hostname执行上面的命令,会要求输入 FTP 的密码。密码验证成功以后,就会出现 FTP 的提示符sftp>,下面是一个例子。$ sftp USER@penguin.example.comUSER@penguin.example.com's password:C
SSH 服务器简介SSH 的架构是服务器/客户端模式,两端运行的软件是不一样的。OpenSSH 的客户端软件是 ssh,服务器软件是 sshd。本章介绍 sshd 的各种知识。如果没有安装 sshd,可以用下面的命令安装。# Debian$ sudo aptitude install openssh-server# Red Hat$ sudo yum install openssh-server一般来说,sshd 安装后会跟着系统一起启动。如果当前 sshd 没有启动,可以用下面的命令启动。$
scp 命令scp是 SSH 提供的一个客户端程序,用来在两台主机之间加密传送文件(即复制文件)。简介scp是 secure copy 的缩写,相当于cp命令 + SSH。它的底层是 SSH 协议,默认端口是22,相当于先使用ssh命令登录远程主机,然后再执行拷贝操作。scp主要用于以下三种复制操作。本地复制到远程。远程复制到本地。两个远程系统之间的复制。使用scp传输数据时,文件和密码都是加密的,不会泄漏敏感信息。基本语法scp的语法类似cp的语法。$ scp source destinati
rsync 命令简介rsync 是一个常用的 Linux 应用程序,用于文件同步。它可以在本地计算机与远程计算机之间,或者两个本地目录之间同步文件(但不支持两台远程计算机之间的同步)。它也可以当作文件复制工具,替代cp和mv命令。它名称里面的r指的是 remote,rsync 其实就是“远程同步”(remote sync)的意思。与其他文件传输工具(如 FTP 或 scp)不同,rsync 的最大特点是会检查发送方和接收方已有的文件,仅传输有变动的部分(默认规则是文件大小或修改时间有变动)。虽然
SSH 端口转发简介SSH 除了登录服务器,还有一大用途,就是作为加密通信的中介,充当两台服务器之间的通信加密跳板,使得原本不加密的通信变成加密通信。这个功能称为端口转发(port forwarding),又称 SSH 隧道(tunnel)。端口转发有两个主要作用:(1)将不加密的数据放在 SSH 安全连接里面传输,使得原本不安全的网络服务增加了安全性,比如通过端口转发访问 Telnet、FTP 等明文服务,数据传输就都会加密。(2)作为数据通信的加密跳板,绕过网络防火墙。端口转发有三种使用方法
SSH 日志SSH 在服务器端可以生成日志,记录登录当前服务器的情况。SSH 日志是写在系统日志当中的,查看的时候需要从系统日志里面找到跟 SSH 相关的记录。journalctl 命令如果系统使用 Systemd,可以使用journalctl命令查看日志。$ journalctl -u sshMar 25 20:25:36 web0 sshd[14144]: Accepted publickey for ubuntu from 10.103.160.144 port 59200 ssh2: R
SSH 密钥登录SSH 默认采用密码登录,这种方法有很多缺点,简单的密码不安全,复杂的密码不容易记忆,每次手动输入也很麻烦。密钥登录是比密码登录更好的解决方案。密钥是什么密钥(key)是一个非常大的数字,通过加密算法得到。对称加密只需要一个密钥,非对称加密需要两个密钥成对使用,分为公钥(public key)和私钥(private key)。SSH 密钥登录采用的是非对称加密,每个用户通过自己的密钥登录。其中,私钥必须私密保存,不能泄漏;公钥则是公开的,可以对外发送。它们的关系是,公钥和私钥是一
Fail2Ban 教程简介Fail2Ban 是一个 Linux 系统的应用软件,用来防止系统入侵,主要是防止暴力破解系统密码。它是用 Python 开发的。它主要通过监控日志文件(比如/var/log/auth.log、/var/log/apache/access.log等)来生效。一旦发现恶意攻击的登录请求,它会封锁对方的 IP 地址,使得对方无法再发起请求。Fail2Ban 可以防止有人反复尝试 SSH 密码登录,但是如果 SSH 采用的是密钥登录,禁止了密码登录,就不需要 Fail2Ban
SSH 客户端简介OpenSSH 的客户端是二进制程序 ssh。它在 Linux/Unix 系统的位置是/usr/local/bin/ssh。Linux 系统一般都自带 ssh,如果没有就需要安装。# Ubuntu 和 Debian$ sudo apt install openssh-client# CentOS 和 Fedora$ sudo dnf install openssh-clients安装以后,可以使用-V参数输出版本号,查看一下是否安装成功。$ ssh -V基本用法ssh 最常见的
SSH 证书登录SSH 是服务器登录工具,一般情况下都采用密码登录或密钥登录。但是,SSH 还有第三种登录方法,那就是证书登录。某些情况下,它是更合理、更安全的登录方法,本文就介绍这种登录方法。非证书登录的缺点密码登录和密钥登录,都有各自的缺点。密码登录需要输入服务器密码,这非常麻烦,也不安全,存在被暴力破解的风险。密钥登录需要服务器保存用户的公钥,也需要用户保存服务器公钥的指纹。这对于多用户、多服务器的大型机构很不方便,如果有员工离职,需要将他的公钥从每台服务器删除。证书登录是什么?证书登录就