CentOS SSH安装和配置

时间:2020-01-09 10:34:17  来源:igfitidea点击:

如何在CentOS Linux操作系统下安装和配置ssh服务器和客户端?
您能解释CentOS SSH安装命令吗?

OpenSSH是免费的开源软件,用于在CentOS企业Linux服务器或台式机系统上远程登录和运行命令。
在本教程中,我们将学习如何安装ssh服务器/客户端并进行配置。

CentOS SSH安装

您需要安装以下软件包(默认安装,直到并且除非在安装CentOS时将其删除或跳过了,否则):

  • openssh-clients:OpenSSH客户端应用程序
  • openssh-server:OpenSSH服务器守护程序

让我们详细了解所有步骤。

CentOS Linux下的OpenSSH安装

要安装服务器和客户端,请以root用户身份键入以下命令:

# yum -y install openssh-server openssh-clients

CentOS 6.x和更早的命令

启动服务:

# chkconfig sshd on
# service sshd start

确保端口22已打开:

# netstat -tulpn | grep :22

CentOS 6.x和更早版本的防火墙设置

编辑/etc/sysconfig/iptables(IPv4防火墙),

# vi /etc/sysconfig/iptables

添加行:

将RH-Firewall-1-INPUT替换为配置文件中的实际链。
有关更多信息,请参见CentOS/Redhat(RHEL 6.x)教程页面。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

如果要限制对192.168.1.0/24的访问,请进行如下编辑:

-A RH-Firewall-1-INPUT -s 192.168.1.0/24 -m state --state NEW -p tcp --dport 22 -j ACCEPT

如果您的站点使用IPv6,并且您正在编辑ip6tables,请使用以下行:

-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 22 -j ACCEPT

保存并关闭文件。
重启iptables:

# service iptables restart

CentOS 7.x/8.x及以上版本的命令

启用并启动sshd服务:

# systemctl enable sshd.service
# systemctl start sshd.service

使用ss命令/netstat命令以及grep命令验证TCP端口号22是否处于列表状态:

ss -tulpn | grep ':22'

或者

ss -tulpn | grep ':22'

使用firewall-cmd命令打开TCP端口22

# firewall-cmd --zone=public --add-service=ssh --permanent
# firewall-cmd --reload

OpenSSH服务器配置

编辑/etc/ssh/sshd_config,输入:

# vi /etc/ssh/sshd_config

要禁用root登录,请进行如下编辑或添加:

PermitRootLogin no

仅通过ssh将登录限制为用户tom和jerry:

AllowUsers tom jerry

更改ssh端口,即在非标准端口(例如1235)上运行

Port 1235

保存并关闭文件。
重新启动sshd:

# service sshd restart ## centos 6.x ##

或者

# systemctl restart sshd.service ## centos 7.x/8.x ##

如何测试ssh安装

如下使用ssh命令/scp命令或sftp命令:

ssh user@your-server-ip
ssh [email protected]
ssh [email protected] uptime
sftp server1.theitroad.local
scp foo.gif [email protected]:/home/httpd/images