Ubuntu默認只安裝openssh-client,需要手動安裝openssh-server或者sftp-server。
安裝SFTP服務
# sudo apt-get install sftp-server
sudo apt-get install openssh-server
允許root登錄
SSH默認不允許root用戶登錄,輸入如下命令修改ssh配置文件,以允許root用戶登錄。
sudo vim /etc/ssh/sshd_config
尋找配置文件的以下內容:
#PermitRootLogin prohibit-password
修改爲如下配置:
PermitRootLogin yes
用戶配置
默認允許所有用戶或者用戶組登錄,若僅允許指定用戶或者用戶組訪問,按照以下格式配置。
AllowUsers 多個用戶(以空格間隔)
AllowGroups 多個用戶組(以空格間隔)
單獨配置指定用戶或者用戶組,並且覆蓋全局配置。
Match User 用戶
Match Group 用戶組
# 禁止TCP轉發
AllowTcpForwarding no
# 禁止X11轉發
X11Forwarding no
如果想了解配置項含義,使用如下命令查看說明文檔。
man sshd_config
重啓SSH
輸入以下命令,重啓SSH,使配置生效。
/etc/init.d/ssh restart
連接命令
Ubuntu的SFTP客戶端使用以下命令連接服務器。
sftp -p [email protected]
PuTTY的psftp.exe使用以下命令連接服務器。
psftp [email protected]
或者先執行psftp.exe,再輸入以下命令:
open 192.168.0.101
傳輸命令
# 上傳文件
put 源路徑 目的路徑
# 下載文件
get 源路徑 目的路徑
用戶必須具有所訪問目錄或者文件的寫權限,否則上傳文件出錯。
例如使用WinSCP上傳文件,卻不具有寫權限,出現以下錯誤:
Write failed: Broken pipe
Couldn’t read packet: Connection reset by peer