跳转到内容

网站测试中,如有浏览疑问请联系站点维护员 @天明

用户:天明/如何使用SSH安全地链接服务器?

来自Ac-Wiki

原文来自:https://medium.com/@code_kartik/how-to-ssh-into-your-server-the-right-way-a-beginner-friendly-guide-with-pro-tips-cbd0e8855c9a

个人自行翻译,如有侵权或其他伤害利益的行为,请联系本人修改或删除。

如果你正在部署应用、配置VPS或云服务器,你可能需要通过SSH来进入你的服务器。SSH访问是DevOps后端开发最重要的基础技能之一,但同时也是容易产生误解的技能。

本指南将带你完整了解一遍相关概念,“SSH是什么?”、“SSH怎么用?”以及一些其他的小技巧。

SSH是什么?

安全外壳协议(简称为SSH),是一种网络连接手段,能够将本地电脑与远程机器在加密隧道中实现通信。它使得你能够在本地终端中输入命令,这些命令将会在远程机器里执行。

SSH实际在做这三样事情:

  • 验证你的身份(通过密码或密钥)
  • 加密你发送的所有东西
  • 防止窃听、篡改和中间人攻击

如果你有使用AWSDigitalOcean或者腾讯云阿里云之类的云服务商提供的机器,那你基本上就是通过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

使用SSH时的常见问题

结语