SFTP证书登陆

证书登陆
使用文件名为id_rsa的私钥证书进行登陆
sftp -oIdentityFile=id_rsa paygate-asia_batch@ftp.netkauf.de
在服务器上生成SSH公钥证书用于SFTP身份验证,通常涉及使用 `ssh-keygen` 工具来生成密钥对,并将生成的公钥部署到目标服务器上。以下是详细的步骤说明: ### 生成SSH密钥对 1. **生成RSA密钥对**(默认方式): ```bash ssh-keygen -t rsa -b 4096 ``` 在执行该命令时,系统会提示你选择保存密钥的路径(默认为 `~/.ssh/id_rsa`)以及设置密钥的密码(可选)[^2]。 2. **生成其他类型的密钥对**(可选): - **Ed25519**(更现代且安全性更高): ```bash ssh-keygen -t ed25519 ``` - **ECDSA**(基于椭圆曲线): ```bash ssh-keygen -t ecdsa -b 521 ``` ### 获取公钥内容 生成密钥对后,公钥文件通常与私钥文件同名,但以 `.pub` 结尾。例如,`id_rsa` 的公钥文件是 `id_rsa.pub`。可以通过以下命令查看公钥内容: ```bash cat ~/.ssh/id_rsa.pub ``` 该命令将输出类似如下的字符串: ``` ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA... user@hostname ``` ### 部署公钥到目标服务器 1. **手动部署公钥**: 将生成的公钥内容追加到目标服务器的 `~/.ssh/authorized_keys` 文件中: ```bash cat ~/.ssh/id_rsa.pub | ssh user@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys" ``` 该命令会将本地的公钥内容通过 SSH 传输到远程服务器,并追加到其 `authorized_keys` 文件中[^2]。 2. **使用 `ssh-copy-id` 部署公钥**(更便捷): ```bash ssh-copy-id user@remote_host ``` 该命令会自动将本地的公钥添加到远程服务器的 `~/.ssh/authorized_keys` 文件中[^2]。 ### 配置SFTP访问权限 为了确保SFTP用户仅能访问特定目录,需对SSH配置文件进行修改: 1. 编辑SSH配置文件 `/etc/ssh/sshd_config`,添加以下内容: ``` Match User sftpuser ChrootDirectory /path/to/restricted/directory ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no ``` 其中,`sftpuser` 是SFTP用户的用户名,`/path/to/restricted/directory` 是该用户被限制访问的目录[^3]。 2. 重启SSH服务以应用配置更改: ```bash sudo systemctl restart sshd ``` ### 验证SFTP连接 完成上述步骤后,可以使用以下命令验证SFTP连接: ```bash sftp user@remote_host ``` 如果一切配置正确,将成功登录到远程服务器的SFTP服务,并且仅能访问指定的目录[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值