首页 > 系统相关 >Ubuntu搭建SFTP服务器笔记

Ubuntu搭建SFTP服务器笔记

时间:2023-04-19 17:55:29浏览次数:36  
标签:sshd 登录 admin SFTP ssh Ubuntu server01 服务器 root

说明:server01为sftp服务端;client01为客户端


【在server01上操作】

1、强力卸载openssh-server

apt-get remove --purge openssh-server

2、安装openssh-server

1)更新apt-get 源

apt-get update

2)安装openssh-server

apt-get install openssh-server

【在client01上操作】

3、使用 root ssh登录测试

ssh root@server01

可能会出现失败(注意:如果ssh root@server01失败,可以使用以下方法查看详细登录过程中的LOG)

ssh -v root@server01

1)失败:Warning: Remote host identification has changed!

失败原因:由于在ssh登录时,server01会发送给client01一份sever01的publickey,此publickey和client01之前记录的publickey不符时,就会引发以上报错。

解决方案:将client01机上的Known_hosts中记录的server01的 publickey删除即可。

2)失败:root登录时报Permission denied, please try again。

问题原因:是由于sshd黙认root ssh登录是不启用的。

解决方案:vim /etc/ssh/sshd_config 中 PermitRootLogin yes

建议:出于安全考虑,不要启用root ssh登录,另外创建一个admin用于管理,支持ssh登录即可。

修改 /etc/ssh/sshd_config:
PermitRootLogin no 禁止root用户

3)失败:Privilege separation user sshd does not exist

失败原因:可能是passwd文件无sshd用户

解决方案:修改/etc/passwd文件,在其中加入 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin

4、创建SSH管理用户

useradd -m admin

添加用户同时创建/home下用户目录

groupadd admingrp

usermod -G admingrp admin

5、SSH支持二种登录方式

1)密码验证登录

修改 /etc/ssh/sshd_config:
PasswordAuthentication yes

ssh admin@server01

注:如果报错参考 ”3、使用 root ssh登录测试“ 中关于失败的处理方法

注:因SSH的publish key和private key都是自己生成的,没法公证。只能通过Client端自己对公钥进行确认。通常在第一次登录的时候,系统会出现下面提示信息:


The authenticity of host 'ssh-server.example.com (12.18.429.21)' can't be established.
RSA key fingerprint is 98:2e:d7:e0:de:9f:ac:67:28:c2:42:2d:37:16:58:4d.
Are you sure you want to continue connecting (yes/no)?
上面的信息说的是:无法确认主机ssh-server.example.com(12.18.429.21)的真实性,不过知道它的公钥指纹,是否继续连接?

之所以用fingerprint代替key,主要是key过于长(RSA算法生成的公钥有1024位),很难直接比较。所以,对公钥进行hash生成一个128位的指纹,这样就方便比较了。

如果输入yes后,会出现下面信息:

Warning: Permanently added 'ssh-server.example.com,12.18.429.21' (RSA) to the list of known hosts.
Password: (enter password)

2)密钥验证登录(基于公钥认证)

修改 /etc/ssh/sshd_config:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

在上面介绍的登录流程中可以发现,每次登录都需要输入密码,很麻烦。SSH提供了另外一种可以免去输入密码过程的登录方式:公钥登录。流程如下:
首先:Client将自己的公钥存放在Server上,追加在文件authorized_keys中。

添加方法1: ssh-copy-id admin@server01
方法1:会在server01的 /home/admin/.ssh/ 下生成一个authorized_keys文件,并且会将client的id_rsa.pub(公钥)内容存放到此文件中。

添加方法2:scp client01/id_rsa.pub admin@server01:~/.ssh/authorized_keys
方法2:会在server01的 /home/admin/.ssh/ 下生成一个authorized_keys文件,并且会将client的id_rsa.pub(公钥)内容存放到此文件中。

ssh admin@server01
因为PubkeyAuthentication优先级高于PasswordAuthentication,所以执行以上SSH连接时,不会提示输入密码,进入登录成功。(以达到免密登录)

具体流程如下:
=》Server端接收到Client的连接请求后,会在authorized_keys中匹配到Client的公钥pubKey,并生成随机数R,用Client的公钥对该随机数进行加密得到pubKey(R),然后将加密后信息发送给Client。
=》Client端通过私钥进行解密得到随机数R,然后对随机数R和本次会话的SessionKey利用MD5生成摘要Digest1,发送给Server端。
=》Server端会也会对R和SessionKey利用同样摘要算法生成Digest2。
=》Server端会最后比较Digest1和Digest2是否相同,完成认证过程。

 

标签:sshd,登录,admin,SFTP,ssh,Ubuntu,server01,服务器,root
From: https://www.cnblogs.com/Jamesblog/p/17332572.html

相关文章

  • pm2在服务器中的使用
    服务器上安装node.js并配置相关环境安装PM2如果没有权限,则用sudo安装;安装指令:sudunpminstallpm2-g(需要全局安装查看程序进程:pm2ls原本nodeserver.js指令替换为pm2startserver.js(记得关闭node进程进程由pm2启动后,可以执行以下指令:查看进程:pm2ls监控查......
  • ubuntu18.04 ORB-SLAM3编译运行
    如何编译?1、代码下载;gitclonehttps://github.com/UZ-SLAMLab/ORB_SLAM3或者gitclonehttps://github.com/electech6/ORB_SLAM3_detailed_comments2、按照里面的README.md进行环境安装和编译;安装和编译过程中可能会出现的问题:1)提示找不到GLEW解决方法:sudoaptinstallli......
  • 浪潮信息等企业评审通过OTII-E模块化服务器技术规范V1.0
    ■■ 近期,ODCC服务器工作组组织线上评审会议,评审通过了《OTII-E模块化服务器技术规范V1.0》。评审会议上,浪潮信息、英特尔、中国信通院等相关单位的近50位专家参与了在线评审,深入讨论目前OTII系列标准发展的关键问题、行业价值和发展方向。OTII-E是OTII系列标准中的最新技术规范,将......
  • 查看 Ubuntu 操作系统的版本号
    Ubuntu是一种基于Debian的Linux操作系统,要查看Ubuntu操作系统的版本号可以使用以下命令:1.打开终端:按下"Ctrl+Alt+T"组合键或者进行"应用程序->系统工具->终端"路径操作来打开终端。2.在终端中输入以下命令并按下回车键:`lsb_release-a`3.系统会显示出操作系统......
  • 在 Linux 上配置一个 syslog 服务器
    Syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它。通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查看和获取......
  • vsftp配置
    本文使用vsftp来部署ftp服务,要求如下:1、使用ftp用户登录指定的家目录,该ftp用户禁止本地登录,禁止访问非家目录外其他目录;2、不同用户登录不同家目录;具体操作配置如下:1、安装vsftp的rpm包# yuminstallvsftpd.x86_642、创建ftp用户允许登录ftp服务、禁止登录本地、指定家目录mkdir......
  • 【服务器数据恢复】DELL EqualLogic PS系列存储磁盘坏道导致存储不可用的数据恢复案例
    服务器数据恢复环境:DELLEqualLogicPS系列某型号存储;16块SAS硬盘组成一组RAID5;划分了4个卷,采用VMFS文件系统,存放虚拟机文件。服务器故障:存储设备中磁盘出现故障导致存储不可用,且存储设备已经过保,用户方联系到我们数据恢复中心要求恢复该存储设备中的数据数据。服务器数据恢......
  • 要在Ubuntu中安装Docker
    要在Ubuntu中安装Docker,可以按照以下步骤进行:卸载旧版本的Docker(如果已安装)如果已经安装了旧版本的Docker,可以使用以下命令卸载:sudoapt-getremovedockerdocker-enginedocker.iocontainerdrunc安装Docker依赖安装Docker之前,需要先安装一些依赖包。可以使用以下命......
  • 权威发布|苏州服务器托管排名 苏州IDC排名 TOP5
        2023年苏州服务器托管公司哪家好,苏州IDC服务商实力排名?苏州服务器托管公司TOP5?当前,苏州正积极抢抓数字化发展新机遇,全力推进数字经济时代产业创新集群融合发展,把数字经济作为转型发展的关键增量。随着苏州元宇宙、AI人工智能、工业互联网项目的落地,越来越多的需求需......
  • VMware虚拟机Ubuntu系统连接网络过程
    网络和Internet设置——高级网络设置——更多网络适配器选项——WLAN。右键选择属性——共享,勾选允许连接,选择VMnet8。(若勾选了其它,之后再想换回来,可以先取消勾选,点确定,再进入勾选)虚拟机——设置——网络适配器,选择NAT模式。编辑——虚拟网络编辑器——更改设置,选择NAT模式......