ubuntu安装sftp并且配置私钥访问

参考:
Ubuntu 下启用 SFTP 服务

一、安装配置sftp

1.下载

sudo apt install openssh-server
sudo apt install ssh

2.配置

sudo vi /etc/ssh/sshd_config
文件末尾增加:

Match group sftp
ChrootDirectory /home
X11Forwarding no
AllowAgentForwarding no
AllowTcpForwarding no
PermitTunnel no
ForceCommand internal-sftp

然后重新加载配置:

3.重启

sudo service ssh restart

4.创建用户和用户组

①创建sftp用户组:

sudo addgroup sftp

②创建用户并将用户添加到用户组:

sudo useradd -m sftpuser -g sftp

③修改密码:

sudo passwd sftpuser
sudo chmod 700 /home/sftpuser/

5.测试连接

sftp sftpuser@localhost

如果遇到错误Connection closed可以通过如下的方式查询错误日志

grep -i sftp /var/log/*

或者执行

sftp -vvv sftpuser@localhost

二、开启私钥访问

修改 /etc/ssh/sshd_config:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
cd ~
cd .ssh

然后把公钥copy到这个目录,文件名称改成authorized_keys

三、全套开启私钥的流程

1.开启私钥访问

修改 /etc/ssh/sshd_config:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存文件并重新加载SSH服务器配置:
sudo systemctl reload sshd

或者sudo service ssh restart

2.重新安装一个ubuntu服务器,生成公钥、私钥

2.1生成公钥、私钥

先测试下通过密码能不能访问

sftp jason@192.168.xx.232
输入密码
如果能进去,说明服务器是好的。

接下来开始生成公钥和私钥。

ssh-keygen -t rsa

一路回车,会生成两个文件

在这里插入图片描述
一个是公钥,一个是私钥

2.2复制公钥到服务器

 ssh-copy-id -i ~/.ssh/id_rsa.pub username@server_ip
#其中,username是登录服务器sftp的用户名,server_ip是服务器的IP地址。系统会提示你输入登录密码。

这时候可以到服务器上的~/.ssh/authorized_keys这个文件看里面是不是有内容
注意:是服务器上。

在这里插入图片描述
里面有内容,就说明已经传上去了。这里的内容就是跟你生成的id_rsa.pub内容一样。

2.3 测试连接

如果不要输入密码,就能进去,说明就好了。
在这里插入图片描述

2.4延申思路

如果多个用户需要用私钥访问,有两个途径:
(1)将id_rsa.pub的内容贴到authorized_keys的后面。
(2)编辑 /etc/ssh/sshd_config,在AuthorizedKeysFile .ssh/authorized_keys后面加文件名。

象这样
AuthorizedKeysFile .ssh/authorized_keys file1 file2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值