Linux的SSH

SSH(Secure Shell)是一种网络协议,用于安全地访问远程计算机。它使用加密技术来保护数据传输过程中的数据安全,防止数据在传输过程中被窃取或篡改。以下是一些基本的 SSH 命令和概念:

SSH 命令

ssh- 用于登录到远程服务器。

基本用法:ssh user@hostname

例如:ssh username@example.com 登录到 example.com 服务器,使用用户名 username。

scp- 安全地复制文件到或从远程计算机。

基本用法:scp local_file remote_user@remote_host:remote_file

例如:scp /path/to/local/file.txt username@example.com:/path/to/remote/ 将本地文件复制到远程服务器。

ssh-keygen- 生成 SSH 密钥对。

基本用法:ssh-keygen -t rsa

可以生成 RSA 密钥对,用于 SSH 认证。

ssh-copy-id- 将公钥复制到远程主机的authorized_keys。

基本用法:ssh-copy-id user@hostname

例如:ssh-copy-id username@example.com 将本地公钥复制到远程服务器。

ssh-agent- 一个程序,用于运行时保持私钥的加载状态,以便不需要每次输入密码。

ssh-add- 将私钥添加到ssh-agent。

基本用法:ssh-add /path/to/private_key

SSH 配置

SSH 配置文件通常位于~/.ssh/config,你可以在这个文件中定义多个主机的别名、用户名、端口号等信息,简化 SSH 命令的输入。

SSH 端口转发

SSH 还支持端口转发,这允许你通过 SSH 连接将远程服务转发到本地机器上。

本地端口转发:ssh -L local_port:remote_host:remote_port user@ssh_server

例如:ssh -L 8080:localhost:80 username@example.com 将远程服务器上的 HTTP 服务(端口 80)转发到本地的 8080 端口。

远程端口转发(也称为 SSH 隧道):ssh -R remote_port:localhost:local_port user@ssh_server

例如:ssh -R 9000:localhost:5000 username@example.com 将本地机器上的服务(端口 5000)通过 SSH 隧道转发到远程服务器的 9000 端口。

SSH 密钥管理

使用 SSH 密钥对认证可以避免每次连接都需要输入密码,提高安全性和便利性。

生成密钥对:ssh-keygen

复制公钥到远程服务器:ssh-copy-id

在远程服务器上配置 ~/.ssh/authorized_keys 以接受密钥登录。

SSH 安全性

使用强密码。

定期更换密码和密钥。

禁用 root 登录,使用普通用户并结合 sudo 进行管理。

配置 SSH 服务器以仅监听 localhost(127.0.0.1),并通过配置防火墙规则允许特定 IP 地址的访问。

SSH 是 Linux 系统管理员和开发人员远程管理和访问服务器的重要工具。

  • 23
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大连赵哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值