SFTP用密钥登陆

1、生成密钥

>ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/username/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/username/.ssh/id_rsa.
Your public key has been saved in /home/username/.ssh/id_rsa.pub.
The key fingerprint is:
73:37:d0:8b:0f:9d:31:56:84:1d:fe:1e:bc:c1:5d:f2 username
@mdt-9323e858fb8

输入ssh-keygen -t rsa表示生成RSA密码,可以存放位置,如果不输入位置,使用默认值,home下的本用户名下的.ssh下,中间出现要求输入密码的,可以输入,也可以不输入,如果输入则要记住该密码

这样在/home/username/.ssh/下生成两个文件id_rsa及id_rsa.pub,其中id_rsa是私钥,id_rsa.pub是公钥,私钥是客户端用的,公钥该名称id_rsa.pub为authorized_keys

2、修改openssh服务器端配置

在安装位置的etc目录下找到文件sshd_config,例如我的文件位置在/etc/sshd_config,修改以下两项

AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication no

第一个参数用于说明公钥文件位置,第二个是强制使用密钥访问,而不是用户名及密码,当然第二个参数可以保持yes,这样可以有两种方式访问。

3、重启openss

net stop opensshd

net start opensshd


<think>好的,我现在需要帮助用户了解如何在Linux环境下使用FileZilla通过密钥登录。首先,我需要回顾用户提供的引用内容,确保信息准确。 用户提到了多个引用,其中引用[1]和[3]提到FileZilla可以使用私钥文件自动生成ppk,步骤包括站点管理、选择SFTP协议、填写用户名和端口,以及选择密钥文件。引用[4]指出私钥通常位于~/.ssh目录,可能需要转换格式,并且私钥不应有密码保护。引用[5]提到PuTTYgen可以用来转换.pem到.ppk,但用户可能不需要,因为FileZilla可以直接用私钥生成ppk。 接下来,我需要整理步骤,确保逻辑清晰。首先,生成密钥对,然后下载私钥到本地,接着配置FileZilla站点,选择正确的协议、端口、用户名,并导入私钥。可能需要注意文件权限,比如私钥的权限设置是否正确,否则可能导致连接失败。 还要考虑用户可能遇到的问题,例如私钥格式是否正确,FileZilla是否支持直接使用.pem还是需要.ppk。根据引用[1],FileZilla可以加载私钥并自动生成ppk,所以用户不需要手动转换,但需要确保私钥没有密码保护。此外,引用[3]提到如果找不到文件,可能需要调整文件后缀的筛选,所以步骤中需要提醒用户注意这一点。 另外,引用[2]和[4]提到下载私钥到本地和文件存放路径,因此步骤中需要包括如何通过FileZilla下载私钥,或者在Linux环境下如何定位私钥文件。 可能还需要验证用户是否已经拥有密钥对,或者是否需要生成新的。如果用户没有,可能需要指导生成,比如使用ssh-keygen命令。 最后,生成相关问题时要围绕密钥登录的常见问题,例如权限设置、格式转换、连接失败的原因等,确保覆盖用户可能的后续疑问。</think>### Linux环境下使用FileZilla通过密钥登录的详细教程 #### 步骤1:准备密钥文件 1. **生成密钥对** 在Linux服务器上生成SSH密钥对(若已有私钥可跳过): ```bash ssh-keygen -t rsa -b 4096 ``` 默认保存路径为 `~/.ssh/id_rsa`(私钥)和 `~/.ssh/id_rsa.pub`(公钥)[^4]。 2. **下载私钥到本地** 使用FileZilla连接服务器,导航到 `~/.ssh` 目录,将私钥文件(如 `id_rsa`)下载到本地[^2]。 --- #### 步骤2:配置FileZilla 1. **打开站点管理器** 点击FileZilla左上角 **文件 → 站点管理器**,选择 **新站点** 并命名[^3]。 2. **设置连接参数** - **协议**:选择 `SFTP - SSH File Transfer Protocol` - **主机**:填写服务器IP地址 - **端口**:默认 `22` - **登录类型**:选择 `密钥文件` - **用户**:输入服务器用户名(如 `ubuntu` 或 `root`) - **密钥文件**:点击右侧按钮,选择本地保存的私钥文件(如 `id_rsa`) - **注意**:若文件列表未显示私钥,需将文件筛选改为 **所有文件 (*.*)**[^1][^3]。 3. **连接服务器** 点击 **连接**,FileZilla会自动将私钥转换为兼容的 `.ppk` 格式(无需手动转换)。 --- #### 步骤3:权限设置(常见问题) - **私钥文件权限** 确保本地私钥文件权限为 `600`(仅用户可读写): ```bash chmod 600 id_rsa ``` 否则会触发 `"Unprotected Private Key"` 错误。 - **服务器公钥配置** 需将公钥内容追加到服务器的 `~/.ssh/authorized_keys` 文件中: ```bash cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys ``` --- #### 验证连接 - 成功连接后,FileZilla右侧窗口会显示服务器文件目录,左侧为本地目录,可直接拖拽文件传输。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值