用户:天明/如何使用SSH安全地链接服务器?:修订间差异
来自Ac-Wiki
更多操作
< 用户:天明
无编辑摘要 |
|||
| (未显示同一用户的1个中间版本) | |||
| 第12行: | 第12行: | ||
'''SSH实际在做这三样事情:''' | '''SSH实际在做这三样事情:''' | ||
* | * 验证你的身份(通过密码或密钥) | ||
* 加密你发送的所有东西 | * 加密你发送的所有东西 | ||
* 防止窃听、篡改和[[中间人攻击]] | * 防止窃听、篡改和[[中间人攻击]] | ||
| 第24行: | 第24行: | ||
ssh ztm0929@192.168.1.2 | ssh ztm0929@192.168.1.2 | ||
这将会让你以 <code>ztm0929</code> 的用户身份登录局域网内一台机器,这台机器的地址是<code>192.168.1.2</code>。 | 这将会让你以 <code>ztm0929</code> 的用户身份登录局域网内一台机器,这台机器的地址是<code>192.168.1.2</code>。 | ||
<!-- 待插入截图 --> | |||
== SSH进阶用法 == | == SSH进阶用法 == | ||
=== 配置密钥认证(最佳实践) === | |||
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" | |||
ssh-keygen -t rsa -b 4096 -C "ztm0929@icloud.com" | |||
引号内可以替换为自己的真实邮箱,这只是一种记录,无伤大雅。 | |||
这将会创建两个文件: | |||
* <code>~/.ssh/id_rsa</code>:这是一份不能分享给任何人的私钥文件; | |||
* <code>~/.ssh/id_rsa.pub</code>:这是一份公钥文件,需要放到你想要连接的服务器里; | |||
放置公钥的方法有很多,最常用的是这种形式: | |||
ssh-copy-id username@server_ip | |||
ssh-copy-id ztm0929@192.168.1.2 | |||
== 使用SSH时的常见问题 == | == 使用SSH时的常见问题 == | ||
== 结语 == | == 结语 == | ||
2025年12月20日 (六) 01:15的最新版本
个人自行翻译,如有侵权或其他伤害利益的行为,请联系本人修改或删除。
如果你正在部署应用、配置VPS或云服务器,你可能需要通过SSH来进入你的服务器。SSH访问是DevOps和后端开发最重要的基础技能之一,但同时也是容易产生误解的技能。
本指南将带你完整了解一遍相关概念,“SSH是什么?”、“SSH怎么用?”以及一些其他的小技巧。
SSH是什么?
安全外壳协议(简称为SSH),是一种网络连接手段,能够将本地电脑与远程机器在加密隧道中实现通信。它使得你能够在本地终端中输入命令,这些命令将会在远程机器里执行。
SSH实际在做这三样事情:
- 验证你的身份(通过密码或密钥)
- 加密你发送的所有东西
- 防止窃听、篡改和中间人攻击
如果你有使用AWS、DigitalOcean或者腾讯云、阿里云之类的云服务商提供的机器,那你基本上就是通过SSH连接的。
SSH基本用法
这是一条最简单的SSH命令:
ssh username@server_ip
而实际一点的例子是
ssh ztm0929@192.168.1.2
这将会让你以 ztm0929 的用户身份登录局域网内一台机器,这台机器的地址是192.168.1.2。
SSH进阶用法
配置密钥认证(最佳实践)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ssh-keygen -t rsa -b 4096 -C "ztm0929@icloud.com"
引号内可以替换为自己的真实邮箱,这只是一种记录,无伤大雅。
这将会创建两个文件:
~/.ssh/id_rsa:这是一份不能分享给任何人的私钥文件;~/.ssh/id_rsa.pub:这是一份公钥文件,需要放到你想要连接的服务器里;
放置公钥的方法有很多,最常用的是这种形式:
ssh-copy-id username@server_ip ssh-copy-id ztm0929@192.168.1.2