Linux系統(tǒng)配置sftp服務(wù)以及實(shí)現(xiàn)免密登錄方式
網(wǎng)上的一系列部署總有問題,記錄下部署配置成功案例。
一、部署sftp服務(wù)
(本質(zhì)是sftp服務(wù)使用ssh中的協(xié)議,默認(rèn)端口也跟隨ssh服務(wù)的配置)
1、創(chuàng)建用戶組
groupadd sftp
2、創(chuàng)建用戶testsftp
并將用戶添加到剛創(chuàng)建的用戶組,拒絕用戶登錄shell
useradd -g sftp -s /sbin/nologin testsftp
3、指定sftp的家目錄
自選人意位置,我這里就新建一個(gè)sftp的家目錄為/opt/sftp
mkdir -p /opt/sftp
4、配置ssh服務(wù)
#這里備份下sshd_config配置文件,養(yǎng)成修改前備份的好習(xí)慣 cp -rp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak #打開/etc/ssh/sshd_config,并搜索Subsystem字符位置,然后注釋 vim +/Subsystem /etc/ssh/sshd_config #行首加#注釋掉 #Subsystem sftp /usr/libexec/openssh/sftp-server ######################################################## #然后追加配置 Subsystem sftp internal-sftp Match Group sftp ChrootDirectory /opt/sftp ForceCommand internal-sftp AllowTcpForwarding no X11Forwarding no
Match Group sftp
:匹配sftp組的用戶,如果有多個(gè)組,用逗號(hào)分隔。也可以使用"Match User mysftp"匹配用戶,多個(gè)用戶之間也是用逗號(hào)分隔。ChrootDirectory
/opt
/sftp
:將用戶的根目錄指定到/opt/sftpForceCommand internal-sftp
:指定sftp命令。X11Forwarding no
:是否允許用戶可以使用端口轉(zhuǎn)發(fā)。
打開密鑰登錄功能
RSAAuthentication yes PubkeyAuthentication yes
可以禁用密碼方式登錄(根據(jù)自身實(shí)際需求設(shè)置)
PasswordAuthentication no
保存退出。然后檢驗(yàn)sshd配置,如有錯(cuò),根據(jù)錯(cuò)誤提示修正
sshd -T
5、設(shè)定Chroot目錄權(quán)限
#將文件sftp的擁有者設(shè)為 sftp 群體的使用者 root chown root:sftp /opt/sftp chmod 755 /opt/sftp
6、重啟sshd服務(wù)
systemctl restart sshd
照上面設(shè)置后,在重啟 sshd 服務(wù)后,用戶sftp已經(jīng)可以登錄(只能使用 sftp 登錄,使用 ssh 登錄不了)。
但使用chroot 指定根目錄后,根應(yīng)該是無法寫入的,所以要新建一個(gè)目錄供 sftp上傳文件。
這個(gè)目錄所有者為 sftp,所有組為sftp,所有者有寫入權(quán)限,而所有組無寫入權(quán)限。
命令如下:
mkdir /opt/sftp/upload chown sftp:sftp /opt/sftp/upload chmod 755 /opt/sftp/upload
二、設(shè)置免密登錄
本質(zhì)是將需要登錄的服務(wù)器的公鑰數(shù)據(jù)加載到需要免密登錄的服務(wù)器的authorized_keys文件中?!緦?shí)際是配置ssh免密】)
1、在需要連接sftp的服務(wù)器上執(zhí)行
(注意選擇好使用用戶)
ssh-keygen -t rsa
回車兩次生成rsa公私鑰文件,可打開/home/用戶/.ssh/文件夾查看,復(fù)制id_rsa.pub內(nèi)容準(zhǔn)備。
2、在部署sftp服務(wù)器上
cd到用戶sftp的賬戶家目錄,新建用戶默認(rèn)家用戶路徑在/home/用戶名。
新建一個(gè).ssh文件夾,在.ssh文件夾內(nèi)新建名為authorized_keys的文件,將復(fù)制過來的id_rsa.pub中的內(nèi)容增加到authorized_keys文件中。
此處注意,
需要更改.ssh和authorized_keys的owner和group,因?yàn)閟ftp用戶只支持sftp協(xié)議,所以需要在root賬戶下創(chuàng)建.ssh和authorized_keys后,執(zhí)行一下命令:
chown -R sftp:sftp /sftp/sftp_upload/.ssh
接下來就可以sftp sftp@sftp服務(wù)器IP,進(jìn)行直接進(jìn)行登錄了。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
詳解Linux中PostgreSQL和PostGIS的安裝和使用
這篇文章主要介紹了詳解Linux中PostgreSQL和PostGIS的安裝和使用,并把需要注意點(diǎn)做了分析和解釋,需要的朋友學(xué)習(xí)下。2018-02-02linux下實(shí)時(shí)查看tomcat運(yùn)行日志的方法
下面小編就為大家?guī)硪黄猯inux下實(shí)時(shí)查看tomcat運(yùn)行日志的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起 小編過來看看吧2016-11-11Linux CentOS 6.5 ifconfig查詢不到ip的解決方法
這篇文章主要介紹了Linux CentOS 6.5 ifconfig查詢不到ip的解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-07-07Linux 安裝二進(jìn)制MySQL 及 破解MySQL密碼的方法
這篇文章主要介紹了Linux 安裝二進(jìn)制MySQL 及 破解MySQL密碼的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09