Ubunt配置Sftp-ssh免密碼登錄

之前都是用的Ftp,今天有兩個(gè)客戶(hù)要求用Sftp沒(méi)用過(guò),今天研究了一下,記錄備忘
SFTP其實(shí)就是加密的FTP 可以通過(guò)ssh密匙 免密碼連接

  • 系統(tǒng):Ubuntu 16.04
  • 軟件:openssh
安裝openssh
sudo apt-get install openssh-server
為SFTP訪問(wèn)創(chuàng)建用戶(hù)組,便于管理權(quán)限
sudo addgroup sftp-users
創(chuàng)建用戶(hù)加入組,不允許登錄系統(tǒng)
sudo adduser alice 
sudo usermod -G sftp-users -s /bin/false alice
創(chuàng)建SSH用戶(hù)組,并把管理員加入到該組(注意usermod中的-a參數(shù)的意思是不從其他用戶(hù)組用移除)
sudo addgroup ssh-users 
sudo usermod -a -G ssh-users root

準(zhǔn)備“監(jiān)獄”的根目錄及共享目錄。這里解釋一下,“監(jiān)獄”的根目錄必須滿足以下要求:所有者為root,其他任何用戶(hù)都不能擁有寫(xiě)入權(quán)限。因此,為了讓SFTP用戶(hù)能夠上傳文件,還必須在“監(jiān)獄”根目錄下再創(chuàng)建一個(gè)普通用戶(hù)能夠?qū)懭氲墓蚕砦募夸洝榱吮阌诠芾韱T通過(guò)SFTP管理上傳的文件,我把這個(gè)共享文件目錄配置為:由admin所有,允許sftp-users讀寫(xiě)。這樣,管理員和SFTP用戶(hù)組成員就都能讀寫(xiě)這個(gè)目錄了。

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組的用戶(hù)通過(guò)SSH訪問(wèn)系統(tǒng)
Match User sftp-ly            #針對(duì)單個(gè)用戶(hù)設(shè)置
    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

# 針對(duì)組進(jìn)行額外設(shè)置
Match Group sftp-users
    .....

可以針對(duì)組或用戶(hù),額外增加一些設(shè)置:將“/home/sftp_root”設(shè)置為該組用戶(hù)的系統(tǒng)根目錄(因此它們將不能訪問(wèn)該目錄之外的其他系統(tǒng)文件);禁止TCP Forwarding和X11 Forwarding;強(qiáng)制該組用戶(hù)僅僅使用SFTP

到這sftp就算配置完成了

驗(yàn)證

  • linux
    隨便找一臺(tái)linux主機(jī)
sftp root@172.16.1.100

如果提示輸密碼,連接成功可以上傳文件 表示成功!


配置ssh免密登錄

  • 生成密匙
    在服務(wù)器上執(zhí)行以下命令生成密匙
ssh-keygen -t rsa

默認(rèn)生成的路徑是  /root/.ssh
  • id_rsa 是私鑰 一般用于客戶(hù)端
  • id_rsa.pub 是公鑰 一般用于服務(wù)器端

服務(wù)器上注冊(cè)公鑰

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

將私鑰放到客戶(hù)端

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

也可以直接vim打開(kāi)后復(fù)制私鑰后在客戶(hù)端.ssh文件夾下建立同名文件黏貼私鑰

  • windows
    直接通過(guò)復(fù)制黏貼獲取私鑰 id_rsa

免密連接SFTP

  • linux
sftp root@172.16.1.100

不用輸密碼能直接連接成功表示成功

  • Windows
    打開(kāi)WinSCP客戶(hù)端-編輯站點(diǎn)-高級(jí)-驗(yàn)證-添加私鑰
image.png
image.png

添加私鑰文件根據(jù)提示 將openssh格式的私鑰轉(zhuǎn)換為putty格式

?。?!不用輸入密碼,能連接成功??!成功啦!

服務(wù)器端提供多用戶(hù)服務(wù)

如果要在SFTP服務(wù)器上建立多個(gè)用戶(hù) 分別提供服務(wù)
只需要在 相應(yīng)用戶(hù)的 /home/用戶(hù)/.ssh 下放置正確的公鑰并注冊(cè)
即可用相應(yīng)的私鑰 來(lái)連接

一個(gè)共享提供多個(gè)客戶(hù)端連接

一個(gè)sftp用戶(hù)共享提供多個(gè)客戶(hù)端連接
只需要在相應(yīng)用戶(hù)的.ssh文件下的 authorized_keys 文件夾內(nèi)添加多個(gè)公鑰即可

cat id_rsa.pub >> authorized_keys         多來(lái)幾次就行
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容