Yuy*_*shi 85 server sftp openssh
我想知道如何设置 root、sudo、sftp-only 用户帐户,登录时不需要公钥身份验证。我还想知道如何设置 sftp-only 用户的主目录,他们在哪里无法访问上层其他目录。
jtd*_*jtd 96
帮助您开始在使用 Ubuntu 的主机上设置 ssh 服务的最佳资源是OpenSSH Server。这将允许您使用SSH 文件传输协议(也称为安全文件传输协议,或 SFTP)从客户端计算机通过 SSH 访问、传输和管理文件。
OpenSSH server在主机上设置一个,然后用户可以ssh使用仅使用用户名和密码从客户端连接到主机的服务器。但是请注意,建议使用公钥身份验证,在主机上安装 OpenSSH 服务器:
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)
为您的主机提供一个静态 IP 地址,以便您可以可靠地连接到它:
nm-connection-editor
Run Code Online (Sandbox Code Playgroud)
要配置您的 OpenSSH 服务器,“首先,通过将 sshd_config 文件复制到您的主目录来备份它,或者通过执行以下操作在 /etc/ssh 中制作只读副本:”
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.factory-defaults
sudo chmod a-w /etc/ssh/sshd_config.factory-defaults
Run Code Online (Sandbox Code Playgroud)
“备份sshd_config文件后,您可以使用任何文本编辑器进行更改,例如:”
sudo -H gedit /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)
您必须在 Host 上重新启动 ssh 服务才能使这些更改生效
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
PermitRootLogin without-password;添加PermitRootLogin no到主机/etc/ssh/sshd_configPort 22;添加Port <new-port-number>到主机/etc/ssh/sshd_configListenAddress 192.168.0.10AllowUsers <username>@<IP_address_1> <username>@<IP_address_2>或AllowUsers <username>@111.222.333.*到主机的/etc/ssh/sshd_config~/.ssh/id_rsa.pub来自每个客户端的内容作为主机的~/.ssh/authorized_keys. 然后添加PasswordAuthentication no到主机的/etc/ssh/sshd_configsudo apt-get install ufw && sudo ufw limit OpenSSHPasswordAuthentication在您的sshd_config文件中启用找出该短语所在的行PasswordAuthentication并阅读:
PasswordAuthentication yes
Run Code Online (Sandbox Code Playgroud)
保存您的新sshd_config文件,然后重新启动 Host 的ssh服务:
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
请注意主机ssh服务在sshd_config文件中侦听的端口,并设置您的路由器以将针对此端口的 TCP/UDP 流量转发到您的 OpenSSH 服务器的 IP 地址。
192.168.1.1以登录路由器并设置端口转发。请参阅配置 OpenSSH 服务器和路由器以接受 Internet 上的 SSH 连接?要像<username>在主机上一样打开 SFTP shell 终端,请在客户端上打开一个终端并输入以下命令,替换123.123.1.23为主机的 IP 地址:
sftp <username>@123.123.1.23
Run Code Online (Sandbox Code Playgroud)
如果您更改了主机的 OpenSSH 服务器侦听的端口号,请执行以下操作:
sftp -P <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Run Code Online (Sandbox Code Playgroud)要像<username>在主机上一样打开 SSH shell 终端,请在客户端上打开一个终端并输入以下命令,替换123.123.1.23为主机的 IP 地址:
ssh <username>@123.123.1.23
Run Code Online (Sandbox Code Playgroud)
如果您更改了主机的 OpenSSH 服务器侦听的端口号,请执行以下操作:
ssh -p <port_number_in_Host's_sshd_config_file> <username>@123.123.1.23
Run Code Online (Sandbox Code Playgroud)SSHsshd_config文件中指定的端口号
在 14.04 中:
Host 上适当的文件权限可保证您在 Host 上创建的每个标准用户(没有 sudo 权限)将拥有他们的/home/new_user目录,但对目录结构的其余部分具有有限的权限。
希望这有帮助!
小智 52
第 1 步:如果未安装 OpenSSH 包,请安装
sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)
第 2 步:为 SFTP 用户创建单独的组。
sudo addgroup ftpaccess
Run Code Online (Sandbox Code Playgroud)
第 3 步:编辑/etc/ssh/sshd_config文件并进行如下更改。在下面找到并评论。
#Subsystem sftp /usr/lib/openssh/sftp-server
Run Code Online (Sandbox Code Playgroud)
并将这些行添加到文件末尾。
Subsystem sftp internal-sftp
Match group ftpaccess
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Run Code Online (Sandbox Code Playgroud)
第 4 步:重新启动 sshd 服务。
sudo service ssh restart
Run Code Online (Sandbox Code Playgroud)
第 5 步:使用 ftpaccess 组添加用户并创建密码。
sudo adduser paul --ingroup ftpaccess --shell /usr/sbin/nologin
Run Code Online (Sandbox Code Playgroud)
第六步:修改主目录权限。
sudo chown root:root /home/paul
Run Code Online (Sandbox Code Playgroud)
第七步:在home里面创建一个目录用于上传和修改权限组。
sudo mkdir /home/paul/www
sudo chown paul:ftpaccess /home/paul/www
Run Code Online (Sandbox Code Playgroud)
就是这样 。
| 归档时间: |
|
| 查看次数: |
459606 次 |
| 最近记录: |