centos 配置 ssh

本文详细介绍了如何在Linux系统中通过编辑hosts.deny和hosts.allow文件来限制和允许特定主机访问SSH服务,并提供了SSH服务的增强配置方法,包括禁用某些功能、增加安全性等。

默认安装ssh是有的。只是hosts访问问题。

1.在hosts.deny文件尾添加sshd:ALL
意思是拒绝所有访问请求

[root@localhost  ~ ] #  vi /etc/hosts.deny


修改后看起来如下:

#
#
 hosts.deny    This file describes the names of the hosts which are
#
               *not* allowed to use the local INET services, as decided
#
               by the '/usr/sbin/tcpd' server.
#
#
 The portmap line is redundant, but it is left to remind you that
#
 the new secure portmap uses hosts.deny and hosts.allow.  In particular
#
 you should know that NFS uses portmap!
sshd:ALL


2.在hosts.allow文件尾添加sshd:192.168.0.
意思是允许192.168.0.1 到254的主机,内网。

[root@localhost  ~ ] #  vi /etc/hosts.allow 
#
#
 hosts.allow   This file describes the names of the hosts which are
#
               allowed to use the local INET services, as decided
#
               by the '/usr/sbin/tcpd' server.
#
sshd: 192.168 .0.


3.重启ssh

[root@localhost  ~ ] #  /etc/rc.d/init.d/sshd restart
停止 sshd:                                                [  确定  ]
启动 sshd                                                  [  确定  ]



好了,用putty和Xshell(Xmanager)可以登录了。^_^

4.ssh增强配置

[root@localhost  ~ ] #  vi /etc/ssh/sshd_config  ← 用vi打开SSH的配置文件

# Protocol 2,1 ← 找到此行将行头“#”删除,再将行末的“,1”删除,只允许SSH2方式的连接
 
Protocol 
2  ← 修改后变为此状态,仅使用SSH2

# ServerKeyBits 768 ← 找到这一行,将行首的“#”去掉,并将768改为1024
 
ServerKeyBits 
1024  ← 修改后变为此状态,将ServerKey强度改为1024比特

# PermitRootLogin yes  ← 找到这一行,将行首的“#”去掉,并将yes改为no
 
PermitRootLogin no  ← 修改后变为此状态,不允许用root进行登录

# PasswordAuthentication yes ← 找到这一行,将yes改为no
 
PasswordAuthentication no ← 修改后变为此状态,不允许密码方式的登录

# PermitEmptyPasswords no  ← 找到此行将行头的“#”删除,不允许空密码登录
 
PermitEmptyPasswords no  ← 修改后变为此状态,禁止空密码进行登录
CentOS系统上配置SSH可按以下步骤进行: ### 确保已安装 OpenSSH 可以通过以下命令检查是否已安装: ```bash rpm -qa | grep openssh ``` 若未安装,可使用包管理器进行安装,如在CentOS 7 及以上版本使用 `yum install openssh-server openssh-clients` 进行安装 [^2]。 ### 配置 SSH 服务 SSH配置文件通常位于 `/etc/ssh/sshd_config`,可以使用文本编辑器来编辑这个文件,例如使用 `vi` 或 `nano`: ```bash sudo vi /etc/ssh/sshd_config ``` 编辑完成后,保存并退出文件。然后重启 SSH 服务使配置生效,在 CentOS 7 及以上版本使用以下命令: ```bash sudo systemctl restart sshd ``` 在 CentOS 6 及以下版本使用: ```bash sudo service sshd restart ``` [^1] ### 实现 SSH 终端连接 若要实现宿主机(如 Win10)上的 Xshell 能连接虚拟机的 CentOS,需完成以下环节: 1. **确保宿主机与虚拟机的连通性**:可通过 `ping` 命令测试网络连接是否正常。 2. **虚拟机安装 SSH 服务,同时启动 SSHD 服务**:若未安装,可参考前面安装 OpenSSH 的步骤;启动服务可参考前面重启服务的命令。 3. **Win10 宿主机用 SSH 工具 Xshell 登录连接虚拟机**:打开 Xshell,新建会话,输入虚拟机的 IP 地址和 SSH 端口(默认为 22),输入用户名和密码进行登录 [^3]。 ### 配置 SSH 免密登录 #### 手动配置 1. **生成公钥和私钥**:在终端输入以下命令: ```bash ssh-keygen -t rsa ``` 按提示操作,一般直接按回车键即可,生成的公钥和私钥默认存放在 `~/.ssh` 目录下。 2. **进入 `.ssh` 目录**: ```bash cd ~/.ssh ``` 3. **拷贝公钥**:在需要实现免密登录的主机上分别拷贝一份公钥到 `authorized_keys` 文件中。例如,将公钥拷贝到目标主机: ```bash ssh-copy-id user@target_host ``` 其中 `user` 是目标主机的用户名,`target_host` 是目标主机的 IP 地址或主机名。 4. **免密登录**:现在可以直接使用 `ssh user@target_host` 命令登录目标主机,无需输入密码。 5. **退出登录**:登录到目标主机后,使用 `exit` 命令退出登录 [^4]。 #### 自动配置(脚本配置) 1. **在 `hadoop01` 主机上,使用 `root` 用户打开 `/usr/local/bin` 目录**: ```bash cd /usr/local/bin ``` 2. **创建 `auto-ssh-sshpass.sh` 脚本文件**: ```bash touch auto-ssh-sshpass.sh ``` 3. **赋予脚本执行权限**: ```bash chmod +x auto-ssh-sshpass.sh ``` 4. **编写脚本文件**:根据实际需求编写脚本内容。 5. **安装依赖**:通常需要安装 `sshpass` 工具,可使用包管理器进行安装。 6. **生成公钥和私钥**:同手动配置步骤。 7. **执行脚本**: ```bash ./auto-ssh-sshpass.sh ``` 8. **免密登录**:使用 `ssh user@target_host` 命令登录目标主机。 9. **退出登录**:使用 `exit` 命令退出登录 [^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值