手机看片精品高清国产日韩,色先锋资源综合网,国产哺乳奶水91在线播放,乱伦小说亚洲色图欧洲电影

Linux 下ssh sftp配置之密鑰方式登錄詳解

2019-03-24 14:57:52 12039

由于vsftp采用明文傳輸,用戶名密碼可通過(guò)抓包得到,為了安全性,需使用sftp,鎖定目錄且不允許sftp用戶登到服務(wù)器。由于sftp使用的是ssh協(xié)議,需保證用戶只能使用sftp,不能ssh到機(jī)器進(jìn)行操作,且使用密鑰登陸、不是22端口。

. 在遠(yuǎn)程目標(biāo)創(chuàng)建sftp服務(wù)用戶組,創(chuàng)建sftp服務(wù)根目錄

 

groupadd sftp

 

#此目錄及上級(jí)目錄的所有者必須為root,權(quán)限不高于755,此目錄的組最好設(shè)定為sftp

 

mkdir /data/sftp

 

chown -R root:sftp /data/sftp

 

chmod -R 0755 /data/sftp

 

2. 修改sshd配置文件

 

cp /etc/ssh/sshd_config,_bk} #備份配置文件

 

sed -i 's@#Port 22@Port 22@' /etc/ssh/sshd_config #保證原來(lái)22端口可以

 

vi /etc/ssh/sshd_config

 

注釋掉/etc/ssh/sshd_config文件中的此行代碼:

 

Subsystem  sftp  /usr/libexec/openssh/sftp-server

 

添加如下代碼:

 

Port 22222 #此處改為非22端口
Subsystem sftp internal-sftp -l INFO -f AUTH
Match Group sftp
ChrootDirectory /data/sftp/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp -l INFO -f AUTH

 

凡是在用戶組sftp里的用戶,都可以使用sftp服務(wù);使用sftp服務(wù)連接上之后,可訪問(wèn)目錄為/data/sftp/username

 

舉個(gè)例子:

 

test是一個(gè)sftp組的用戶,它通過(guò)sftp連接服務(wù)器上之后,只能看到/data/sftp/test目錄下的內(nèi)容

 

test2也是一個(gè)sftp組的用戶,它通過(guò)sftp連接服務(wù)器之后,只能看到/data/sftp/test2目錄下的內(nèi)容

 

3. 創(chuàng)建sftp用戶

 

#此例將創(chuàng)建一個(gè)名稱為test的sftp帳號(hào)

 

#創(chuàng)建test sftp家目錄:test目錄的所有者必須是root,組最好設(shè)定為sftp,權(quán)限不高于755

 

mkdir /data/sftp/test

 

chmod 0755 /data/sftp/test

 

chown root:sftp /data/sftp/test

 

useradd -g sftp -s /sbin/nologin test #添加用戶,參數(shù)-s /sbin/nologin禁止用戶通過(guò)命令行登錄

 

在本地創(chuàng)建test用戶密鑰對(duì)(用來(lái)連接遠(yuǎn)程服務(wù)器的):

 

# mkdir /home/test/.ssh
# ssh-keygen -t rsa
# ssh-copy-id test@IP ##要遠(yuǎn)程的目標(biāo)服務(wù)器IP和賬戶
# chown -R test.sftp /home/test

 

另外我們要注意,.ssh目錄的權(quán)限為700,其下文件authorized_keys和私鑰的權(quán)限為600。否則會(huì)因?yàn)闄?quán)限問(wèn)題導(dǎo)致無(wú)法免密碼登錄。我們可以看到登陸后會(huì)有known_hosts文件生成。

 

在目標(biāo)遠(yuǎn)程服務(wù)器test目錄下創(chuàng)建一個(gè)可以寫的upload目錄

 

mkdir /data/sftp/test/upload

 

chown -R test:sftp /data/sftp/test/upload

 

注:sftp服務(wù)的根目錄的所有者必須是root,權(quán)限不能超過(guò)755(上級(jí)目錄也必須遵循此規(guī)則),sftp的用戶目錄所有者也必須是root,且最高權(quán)限不能超過(guò)755。

 

4. 測(cè)試sftp

 

systemctl restart sshd.service

 

test用戶密鑰登陸:

 

sftp test@IP ##在本地sftp登陸遠(yuǎn)程服務(wù)器

 

另外,將公鑰拷貝到服務(wù)器的~/.ssh/authorized_keys文件中方法有如下幾種:

 

1、將公鑰通過(guò)scp拷貝到服務(wù)器上,然后追加到~/.ssh/authorized_keys文件中,這種方式比較麻煩。scp -P 22 ~/.ssh/id_rsa.pub user@host:~/。

 

2、通過(guò)ssh-copy-id程序,就是我演示的方法,ssh-copyid user@host即可

 

3、可以通過(guò)cat ~/.ssh/id_rsa.pub | ssh -p 22 user@host ‘cat >> ~/.ssh/authorized_keys’,這個(gè)也是比較常用的方法,因?yàn)榭梢愿亩丝谔?hào)。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: