linux新机快速配置ssh
linux新机快速配置ssh
配置SSH以实现证书登录
要配置新的Linux机器以实现证书登录,您需要执行以下步骤:
安装SSH服务器:
sudo apt-get install openssh-server
修改SSH端口(可选):
SSH配置文件(通常位于/etc/ssh/sshd_config),
#Port 22
修改为所需的端口号,并重新启动SSH服务
sudo systemctl restart sshd
创建新的管理员账户和普通账户:
您可以使用以下命令创建新的管理员账户和普通账户。将<username>替换为您想要创建的用户名。
创建管理员账户:
sudo adduser <username>
sudo usermod -aG wheel <username>
sudo passwd <username>
创建普通账户:
sudo adduser <username>
sudo passwd <username>
配置证书登录:
生成SSH密钥对:
在本地计算机,并使用以下命令生成SSH密钥对:
ssh-keygen -t rsa
将公钥复制到Linux机器:
mkdir -p ~/.ssh
cd ~/.ssh
touch ~/.ssh/id_rsa.pub
vim ~/.ssh/id_rsa.pub
使用以下命令将公钥复制到Linux机器上的新账户的~/.ssh/authorized_keys文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub <username>@<linux_machine_ip>
输入新账户的密码进行验证。
将id_rsa.pub改成600权限(最安全且不容易引起ssh权限出错的权限。如设置为400(只读)最最为安全,但有可能引起ssh权限错误)
sudo chmod 600 ~/.ssh/id_rsa.pub
禁用root密码登录,启用普通用户密码登录(默认配置已有):
sudo vim /etc/ssh/sshd_config
PermitRootLogin prohibit-password
PasswordAuthentication yes
保存文件并重新启动SSH服务以使更改生效。
sudo systemctl restart sshd
设置SELinux和Firewalld开放端口:
SELinux:
sudo dnf install policycoreutils-python-utils
sudo setsebool -P sshd_use_ssh_keysign on
Firewalld:
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
重启SSH服务:
最后,使用以下命令重启SSH服务以使所有更改生效:
sudo systemctl restart sshd
快速配置:
#!/bin/bash
# 安装SSH服务器
sudo apt-get install openssh-server -y
# 修改SSH端口(可选)
sudo sed -i 's/#Port 22/Port 2222/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
# 创建新的管理员账户
read -p "请输入管理员账户名: " admin_username
sudo adduser $admin_username
sudo usermod -aG sudo $admin_username
# 创建新的普通账户
read -p "请输入普通账户名: " normal_username
sudo adduser $normal_username
# 配置证书登录
read -p "请输入本地计算机上生成的公钥文件路径: " public_key_path
ssh-copy-id -i $public_key_path $admin_username@localhost
ssh-copy-id -i $public_key_path $normal_username@localhost
# 禁用root密码登录
sudo sed -i 's/#PermitRootLogin yes/PermitRootLogin without-password/g' /etc/ssh/sshd_config
sudo systemctl restart sshd
# 设置SELinux和Firewalld开放端口
sudo setsebool -P sshd_use_ssh_keysign on
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
# 重启SSH服务
sudo systemctl restart sshd
echo "SSH配置完成!"
版权声明:
作者:SE_Zhang
链接:https://www.cnesa.cn/1472.html
来源:CNESA
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论