1 SSH基本概念

1.1 SSH是什么

SSH(Secure Shell)是一种用于远程登录和其他网络服务的加密协议。它主要用于通过不安全的网络安全地访问远程计算机。SSH提供了一种安全的途径,可以在两台计算机之间传输数据,并支持各种身份验证方法。

1.2 主要功能

  1. 安全登录到远程系统:使用SSH可以通过命令行远程登录到另一台计算机。

  2. 安全文件传输:通过SCP(Secure Copy Protocol)和SFTP(SSH File Transfer Protocol)可以在本地和远程计算机之间安全地传输文件。

  3. 端口转发:可以通过SSH进行端口转发,实现访问受限制的服务。

1.3 常用的SSH客户端和服务器

  • OpenSSH:最常见的SSH工具,广泛应用于各种类Unix操作系统。

  • PuTTY:Windows平台上的流行SSH客户端。

SSH使用公钥加密技术来确保数据的保密性和完整性,使得在不安全网络上进行安全通信成为可能。

2 安装SSH服务

# 下载SSH服务
sudo apt install openssh-server -y
# 设置开机启动SSH服务
sudo systemctl enable ssh
# 启动SSH服务
sudo systemctl start ssh
# 检查SSH服务状态
sudo systemctl status ssh

ssh配置文件位置:

  1. ssh配置文件在/etc/ssh

  2. 客户端配置文件/etc/ssh_config

  3. 服务器配置文件/etc/sshd_config 

3 SSH远程登录控制

# 端口默认是22,可以不指定
ssh -p port [远程主机用户名]@[远程服务器主机名或IP地址]

alt text

4 SSH远程传输文件

4.1 使用SCP传输文件

# 本地文件复制到远端
scp local_file_path username@remote_ip:remote_dir_path

# 远端文件下载到本地
scp username@remote_ip:remote_dir_file_path local_dir_path

alt text

scp命令选项

  • -r:使用 scp 命令传输文件夹自己所有子文件(深度递归)

      scp -r 截屏 lieryang@192.168.2.8:~/Desktop/
    

4.2 SFTP安全文件传输协议

SFTP(SSH File Transfer Protocol)安全文件传输协议(默认端口 22)是建立在 SSH 协议之上运行的文件传输子协议, 提供了对文件的安全访问和传输。FTP 是基于 TCP(默认端口 21)明文传输的应用层协议。SFTP 相比于 FTP,使用密文传输更安全,通常不会受到防火墙的限制。

# 远程连接到服务器,-P 一般是 22,一般省略不写
sftp -P remote_port username@romote_ip


# 下载 remote_file_path 到本地,可以使用-r指定文件夹进行下载
get remote_file_path

# 将本地 local_file_path 文件上传到远端服务器
put local_file_path

# 退出sftp连接
exit
这部分可以使用界面软件操作,参考:Ubuntu文件传输FTP