Linux 下 SFTP 配置之密钥方式登录详解
本文将介绍如何在 Linux 系统中使用密钥方式登录 SFTP。
什么是密钥方式登录?
密钥方式登录是一种比传统的用户名和密码登录更加安全的方式。在密钥方式中,用户首先需要创建一对密钥(公钥和私钥),将公钥上传到服务器端,然后使用私钥进行登录。
生成密钥对
可以使用 ssh-keygen
命令来生成密钥对。该命令将生成一个公钥文件(默认为 id_rsa.pub)和一个私钥文件(默认为 id_rsa),并保存在用户的家目录的 .ssh
目录下。生成密钥对的过程中会要求输入“passphrase”,即口令。该口令用于保护私钥文件,建议设置强密码。
下面是生成密钥对的示例:
$ ssh-keygen -t rsa -b 2048
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:JG8K/qVvqfpGzQ8zWRekX6SVdVggC2JQ+UCJiX8XDYc user@localhost
The key's randomart image is:
+---[RSA 2048]----+
| ..+.o=. |
| . +o.+ o . |
| . .o........o|
| . ..o..=oo.|
| S.. o+B |
| .. .. |
| . |
| |
| |
+----[SHA256]-----+
将公钥上传至服务器端
将公钥上传至服务器端,可以通过将公钥的内容复制到服务器端用户的 .ssh/authorized_keys
文件中。
示例:将公钥文件上传至服务器端
$ scp ~/.ssh/id_rsa.pub user@server:.ssh/authorized_keys
示例:将公钥的内容复制到服务器端
$ ssh user@server
$ mkdir -p ~/.ssh
$ chmod 700 ~/.ssh
$ vi ~/.ssh/authorized_keys
在 authorized_keys 文件中粘贴公钥的内容。保存并退出。
测试密钥方式登录
将公钥上传至服务器端后,就可以使用私钥进行登录了。
$ sftp -o IdentityFile=~/.ssh/id_rsa user@server
注意:IdentityFile 选项用于指定私钥文件的路径。
小结
本文介绍了如何使用密钥方式登录 SFTP。首先生成密钥对,在服务器端上传公钥文件或公钥内容至 authorized_keys 文件中,然后使用私钥登录即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Linux 下sftp配置之密钥方式登录详解 - Python技术站