(sudo) sftp 192.168.1.x/home/directory
如果我尝试使用终端通过命令行访问我的 FTP 服务器,则返回
sftp:192.168.1.x/home/directory:名称或服务未知
但如果我进入sftp://192.168.1.x/home/directory
Nautilus,该目录就可以访问。
为什么我无法使用命令行访问 ftp 服务器?
从昨天开始,我在 FTP 和备份系统方面就遇到了问题,所以我现在可能忽略了一些显而易见的事情。如果真是这样,我很抱歉。
答案1
根据man sftp
:
sftp [user@]host[:file ...]
:
因此,服务器名称和路径之间需要一个冒号。
sftp 192.168.1.x:/home/directory
或者更好的是,使用波浪符号~
来表示主目录!
sftp 192.168.1.x:~/
答案2
我终于发现了为什么 SFTP 在命令行中不起作用,这是因为在从 16.04 升级到 18.04 的过程中,bash shell 不知何故从用户“目录”中删除了。我通过查看/etc/passwd
并注意到“目录”条目就/usr/bin/nologin
在它旁边发现了这一点。我输入以下命令来解决问题。
sudo usermod --shell /bin/bash 目录