美文网首页
Ubunt配置Sftp-ssh免密码登录

Ubunt配置Sftp-ssh免密码登录

作者: 镜kong | 来源:发表于2017-09-21 20:28 被阅读0次

之前都是用的Ftp,今天有两个客户要求用Sftp没用过,今天研究了一下,记录备忘
SFTP其实就是加密的FTP 可以通过ssh密匙 免密码连接

  • 系统:Ubuntu 16.04
  • 软件:openssh
安装openssh
sudo apt-get install openssh-server
为SFTP访问创建用户组,便于管理权限
sudo addgroup sftp-users
创建用户加入组,不允许登录系统
sudo adduser alice 
sudo usermod -G sftp-users -s /bin/false alice
创建SSH用户组,并把管理员加入到该组(注意usermod中的-a参数的意思是不从其他用户组用移除)
sudo addgroup ssh-users 
sudo usermod -a -G ssh-users root

准备“监狱”的根目录及共享目录。这里解释一下,“监狱”的根目录必须满足以下要求:所有者为root,其他任何用户都不能拥有写入权限。因此,为了让SFTP用户能够上传文件,还必须在“监狱”根目录下再创建一个普通用户能够写入的共享文件目录。为了便于管理员通过SFTP管理上传的文件,我把这个共享文件目录配置为:由admin所有,允许sftp-users读写。这样,管理员和SFTP用户组成员就都能读写这个目录了。

sudo mkdir /home/sftp_root
sudo mkdir /home/sftp_root/shared
sudo chown root:sftp-users /home/sftp_root/shared
sudo chmod 770 /home/sftp_root/shared

修改SSH配置文件

sudo vi/etc/ssh/sshd_config

文件底部添加
AllowGroups ssh-users sftp-users    #只允许ssh-uers及sftp-users组的用户通过SSH访问系统
Match User sftp-ly            #针对单个用户设置
    ChrootDirectory /sftp/sftp_root_ly/        # 根目录
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp
Match User sftp-siemens
    ChrootDirectory /sftp/sftp_root_siemens/
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand internal-sftp

# 针对组进行额外设置
Match Group sftp-users
    .....

可以针对组或用户,额外增加一些设置:将“/home/sftp_root”设置为该组用户的系统根目录(因此它们将不能访问该目录之外的其他系统文件);禁止TCP Forwarding和X11 Forwarding;强制该组用户仅仅使用SFTP

到这sftp就算配置完成了

验证

  • linux
    随便找一台linux主机
sftp root@172.16.1.100

如果提示输密码,连接成功可以上传文件 表示成功!


配置ssh免密登录

  • 生成密匙
    在服务器上执行以下命令生成密匙
ssh-keygen -t rsa

默认生成的路径是  /root/.ssh
  • id_rsa 是私钥 一般用于客户端
  • id_rsa.pub 是公钥 一般用于服务器端

服务器上注册公钥

在/root/.ssh 目录下
cat id_rsa.pub >> authorized_keys

将私钥放到客户端

  • linux
scp id_rsa root@172.16.1.11:/root/.ssh

也可以直接vim打开后复制私钥后在客户端.ssh文件夹下建立同名文件黏贴私钥

  • windows
    直接通过复制黏贴获取私钥 id_rsa

免密连接SFTP

  • linux
sftp root@172.16.1.100

不用输密码能直接连接成功表示成功

  • Windows
    打开WinSCP客户端-编辑站点-高级-验证-添加私钥
image.png image.png

添加私钥文件根据提示 将openssh格式的私钥转换为putty格式

!!!不用输入密码,能连接成功!!成功啦!

服务器端提供多用户服务

如果要在SFTP服务器上建立多个用户 分别提供服务
只需要在 相应用户的 /home/用户/.ssh 下放置正确的公钥并注册
即可用相应的私钥 来连接

一个共享提供多个客户端连接

一个sftp用户共享提供多个客户端连接
只需要在相应用户的.ssh文件下的 authorized_keys 文件夹内添加多个公钥即可

cat id_rsa.pub >> authorized_keys         多来几次就行

相关文章

  • Ubunt配置Sftp-ssh免密码登录

    之前都是用的Ftp,今天有两个客户要求用Sftp没用过,今天研究了一下,记录备忘SFTP其实就是加密的FTP 可以...

  • linux 文件数据增量同步

    首先配置:ssh免密码登录 ssh免密码登录 同步脚本: /usr/bin/rsync -avz /datamnt...

  • 6. 搭建 CentOS 集群 - 配置4台 CentOS 为

    配置本机 SSH 免密码登录 在本地 CentOS 中配置 SSH 免密码登录 生成本机的公钥,过程中不断敲回车即...

  • 6 免密码登录配置

    配置免密码登录到底哪几台需要免密码登录1 首先 cm服务器 hadoop01 需要登录集群其他首先将hadoop...

  • Ubuntu的ssh

    安装ssh 创建root用户 配置本机无密码ssh登录 spark0免密码ssh登录spark1 spark1免密...

  • SSH免密码登录设置

    在Hadoop等应用,通常要设置SSH免密码登录来管理集群。这里记录一下Linux配置免密码登录设置。 安装SSH...

  • 大数据开发学习平台安装配置

    本文中直接跳过服务器之间免密码登录以及相关账户的创建和权限配置的工作。相关操作请移步 免密码 登录,linux账户...

  • ssh免密码登录

    在Hadoop的安装过程中,是否免密码登录是无关紧要的,但是如果不配置免密码登录,每次启动Hadoop都需要输入密...

  • ssh和scp使用

    ssh客户端基本使用 scp使用 ssh免密码登录 ssh配置别名

  • Hadoop伪分布式安装配置

    1、配置主机名 2、配置hosts文件 3、配置免密码登录 4、下载hadoop http://hadoop.ap...

网友评论

      本文标题:Ubunt配置Sftp-ssh免密码登录

      本文链接:https://www.haomeiwen.com/subject/rivtextx.html