SSH 服务器搭建指南
SSH(Secure Shell)是一种加密的网络协议,用于在不安全的网络中安全地远程登录和管理计算机,本文将详细介绍如何在 Linux 系统上搭建 SSH 服务器,包括安装、配置和免密登录的实现,以下是详细步骤:
一、安装 SSH 服务器
1、更新软件包列表:
sudo aptget update
2、安装 OpenSSH 服务器:
sudo aptget install opensshserver y
3、启动并设置开机自启动 SSH 服务:
sudo systemctl start ssh sudo systemctl enable ssh
4、检查 SSH 服务状态:
sudo systemctl status ssh
二、配置 SSH 服务器
1、编辑配置文件:
SSH 的主要配置文件是/etc/ssh/sshd_config
,可以使用以下命令编辑:
sudo vim /etc/ssh/sshd_config
2、配置示例:
# Package generated configuration file # See the sshd_config(5) manpage for details # What ports, IPs and protocols we listen for Port 22 ListenAddress 0.0.0.0 Protocol 2 # HostKeys for protocol version 2 HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key # Use these to restrict where sshd listens to socket connections or accepts logins (Change with listenAddress on command line) ListenAddress :: # Lifetime and size of ephemeral version 1 server key KeyRegenerationInterval 1h ServerKeyBits 1024 # Logging SyslogFacility AUTH LogLevel INFO # Authentication: LoginGraceTime 120 PermitRootLogin prohibitpassword StrictModes yes RSAAuthentication yes PubkeyAuthentication yes # Don't read the user's ~/.rhosts and ~/.shosts files IgnoreRhosts yes # For this to work you will also need host keys in /etc/ssh_known_hosts RhostsRSAAuthentication no # similar for protocol version 2 HostbasedAuthentication no # Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication #IgnoreUserKnownHosts yes # To enable empty passwords, change to yes (NOT RECOMMENDED) PermitEmptyPasswords no # Change to yes to enable challengeresponse passwords (beware issues with some PAM modules and threads) ChallengeResponseAuthentication no
3、保存并退出编辑器。
4、重启 SSH 服务以应用更改:
sudo systemctl restart ssh
三、防火墙配置
确保防火墙允许 SSH 流量通过:
sudo ufw allow 22/tcp sudo ufw enable sudo ufw status
四、免密登录配置
1、生成 SSH 密钥对(在客户端机器上):
sshkeygen t rsa
按提示操作,通常直接回车即可。
2、将公钥复制到服务器:
sshcopyid user@server_ip
sshcopyid myuser@192.168.1.100
3、验证免密登录:
尝试从客户端登录到服务器,不需要输入密码:
ssh user@server_ip
五、常见问题及解答(FAQ)
Q1:如何更改 SSH 默认端口?
A1:编辑/etc/ssh/sshd_config
文件,找到Port
配置项并修改为所需的端口号,然后重启 SSH 服务,将默认端口改为 2222:
Port 2222
Q2:如何禁用 root 用户的密码登录?
A2:编辑/etc/ssh/sshd_config
文件,找到PermitRootLogin
配置项并设置为prohibitpassword
,然后重启 SSH 服务:
PermitRootLogin prohibitpassword
通过以上步骤,您可以成功搭建一个功能完善的 SSH 服务器,并根据需要进行高级配置和优化。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1246457.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复