作者:
Eugene Taylor
创建日期:
15 八月 2021
更新日期:
1 七月 2024
![SSH小白入门教程一次弄懂SSH入门到精通,openssh/SSH协议/服务别名/秘钥文件/配置免密登录/SSH Github/Gitlab/VPS远程管理配置](https://i.ytimg.com/vi/o5aYC6E2G-g/hqdefault.jpg)
内容
如果您使用不安全的Internet连接到另一台计算机,则您可能想尽一切努力来确保数据安全。 SSH是实现这一目标的一种方法。为此,您将需要在计算机上安装SSH,然后建立与服务器的加密连接。请记住,为了保护连接,必须在连接的两面都启用SSH。请遵循本指南,以确保您的连接尽可能安全。
踩
第1部分(共3部分):首次连接
安装SSH。 在Windows中,您将必须下载SSH客户端。最受欢迎的是Cygwin,您可以从开发者的网站上免费下载。下载并安装程序。另一个受欢迎的免费程序是PuTTY。
- 在安装Cygwin的过程中,您必须从“网络”部分选择OpenSSH的安装。
- SSH已经安装在Linux和Mac OS X上。这是因为SSH是UNIX系统,并且因为Linux和OS X是从UNIX派生的。
启动SSH。 打开由Cygwin安装的终端程序,或者在OS X或Linux中打开终端。 SSH使用终端接口与其他计算机进行通信。 SSH没有图形界面,因此您将必须学习如何输入命令。
测试连接。 在深入研究安全密钥和移动文件之前,重要的是测试您的计算机以及要连接的系统上是否已正确配置SSH。输入以下命令,将username>替换为另一台计算机的用户名,并将remote>替换为另一台计算机或服务器的地址:
- $ ssh用户名> @远程>
- 建立连接后,系统将要求您输入密码。您将看不到光标移动或作为密码一部分输入的任何字符。
- 如果此步骤失败,则说明您自己的计算机上没有正确配置SSH,或者另一台计算机不接受SSH连接。
第2部分,共3部分:学习基本命令
转到SSH Shell。 如果是第一次连接到另一台计算机,则应位于HOME目录中。要在此目录结构中导航,请使用cd命令:
- cd ...您在树形结构中上移了1个目录。
- cd目录名称>。转到指定的子目录。
- cd / home /目录/路径/。从根目录(主目录)转到指定目录。
- cd〜。返回HOME目录。
检查当前目录的内容。 要查看当前位置中的文件和文件夹,请使用命令ls:
- ls。列出当前目录中的所有文件和文件夹。
- ls –l。列出目录的内容以及其他信息,例如大小,权限和日期。
- ls-a。列出所有内容,包括隐藏的文件和文件夹。
将文件从当前位置复制到远程计算机。 如果要将文件从您自己的计算机复制到远程计算机,请使用命令scp:
- scp /localdirectory/example1.txt用户名> @remote>:path>会将example1.txt复制到远程计算机上的path> path。您可以将path>保留为空白,以将文件复制到另一台计算机的根目录。
- scp用户名> @remote>:/home/example1.txt ./会将example1.txt从远程计算机的主目录移动到本地计算机上的当前目录。
通过外壳复制文件。 使用命令cp在相同目录或您选择的目录中复制文件:
- cp example1.txt example2.txt将在同一位置以example2.txt为名称复制example1.txt。
- cp example1.txt directory> /将在directory>指定的位置复制example1.txt。
移动和重命名文件。 如果要重命名文件,或者要移动文件而不复制文件,则可以运行命令mv:
- mv example1.txt example2.txt会将example1.txt重命名为example2.txt。该文件未移动。
- mv directory1 directory2会将directory1重命名为directory2。目录的内容将不会更改。
- mv example1.txt directory1 /将example1.txt移动到directory1。
- mv example1.txt directory1 / example2.txt会将example1.txt移动到directory1并将其重命名为example2.txt
删除文件和目录。 如果需要从所连接的计算机中删除某些内容,请使用rm命令代码:
- rm example1.txt将创建文件example1.txt。
- rm –I example1.txt将在要求您确认后删除文件example1.txt。
- rm directory1 /将删除directory1及其内容。
更改文件的权限。 您可以使用chmod命令更改文件的读取和写入权限:
- chmod u + w example1.txt将为用户(u)添加对该文件的读取(修改)权限。您还可以将g修饰符用于组权限,或将o命令用于全局权限(每个人)。
- chmod g + r example1.txt将为一个组授予对该文件的读/读(访问)权限。
- 您可以使用一长串权限来打开或阻止系统的某些部分。
了解其他常用的基本命令。 在shell界面中,您将经常使用一些更重要的命令。这些包括:
- mkdir newdirectory创建一个名为newdirectory的新子目录。
- pwd将显示当前目录位置。
- 谁显示谁登录到系统。
- pico newfile.txt或vi newfile.txt将创建一个新文件,并使用文件编辑器将其打开。每个系统都有各自的文件编辑器。最著名的是pico和vi。每个编辑器都需要一个不同的命令。
有关不同命令的详细信息。 如果不确定命令将执行什么操作,请使用man命令来了解有关在何处使用命令以及要使用哪些参数的更多信息:
- man命令>显示有关该命令的信息。
- man –k keyword>将在手册的所有页面中搜索指定的搜索词。
第3部分(共3部分):制作加密密钥
创建您的SSH密钥。 使用这些键,您可以连接到远程位置,因此您始终必须输入密码。这是一种更加安全的方法,因为不必每次都通过网络发送密码。
- 使用$ mkdir .ssh命令在计算机上创建密钥文件夹。
- 使用命令$ ssh-keygen –t rsa创建公用密钥和专用密钥。
- 系统将询问您是否要为按键做一个识别短语。这是可选的。如果您不想输入识别短语,请按Enter。这将在.ssh目录中创建两个密钥:id_rsa和id_rsa.pub
- 更改私钥的权限。要使私钥仅对您可读,请使用命令$ chmod 600 .ssh / id_rsa
将公钥放置在远程计算机上。 一旦创建了密钥,就可以将公共密钥放置在远程计算机上,以便无需密码即可进行连接。输入以下命令并替换先前标识的部件:
- $ scp .ssh / id_rsa.pub用户名> @remote>:
- 确保在命令末尾添加一个冒号(:)。
- 文件传输开始之前,系统会要求您输入密码。
在远程计算机上安装公钥。 将密钥放置在远程计算机上后,需要对其进行安装才能使其正常工作。首先以与步骤3中相同的方式登录到远程计算机。
- 在远程计算机上创建SSH文件夹(如果尚不存在):$ mkdir .ssh
- 将您的密钥添加到授权密钥文件。如果此文件尚不存在,将创建它:$ cat id_rsa.pub .ssh / authorized_keys
- 更改SSH文件夹的访问权限:$ chmod 700 .ssh
检查连接是否正常。 一旦将密钥安装在远程计算机上,您就应该能够连接,而不会提示您输入密码。输入以下密码以测试连接:$ ssh username> @remote>
- 如果您在连接时未提示输入密码,则说明密钥已正确配置。