怎样用西瓜影音做网站,湛江cms建站系统,seo电商运营是什么意思,产品设计学什么CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作
两台安装CentOS系统的虚拟机 客户机#xff08;192.168.239.128#xff09; 服务器#xff08;192.168.239.129#xff09;
SSH概述
Secure S… CentOS中使用SSH远程登录 准备工作SSH概述SSH服务的安装与启动建立SSH连接SSH配置文件修改SSH默认端口SSH文件传输 准备工作
两台安装CentOS系统的虚拟机 客户机192.168.239.128 服务器192.168.239.129
SSH概述
Secure Shell(SSH) 是由 IETF(The Internet Engineering Task Force) 制定的建立在应用层基础上的安全网络协议。 它是专为远程登录会话(甚至可以用Windows远程登录Linux服务器进行文件互传)和其他网络服务提供安全性的协议可有效弥补网络中的漏洞。通过SSH可以把所有传输的数据进行加密也能够防止DNS欺骗和IP欺骗。还有一个额外的好处就是传输的数据是经过压缩的所以可以加快传输的速度。
SSH服务的安装与启动
查看当前的centos是否安装了openssh-server服务。默认安装openssh-server服务。
rpm -qa|grep -E openssh查看是否安装了以下三个服务
[userlocalhost ~]$ rpm -qa|grep -E openssh
openssh-clients-7.4p1-21.el7.x86_64
openssh-7.4p1-21.el7.x86_64
openssh-server-7.4p1-21.el7.x86_64如果没有通过以下命令安装openSSH
yum install openssh-server -y启动SSH服务 service sshd start建立SSH连接
基于口令的安全验证只要你知道自己帐号和口令就可以登录到远程主机。所有传输的数据都会被加密但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器也就是受到“中间人攻击”这种方式的攻击。格式如下
ssh 用户名服务器IP示例 客户机连接服务器 基于密钥的安全验证你必须为自己创建一对密钥并把公钥放在需要访问的服务器上。如果你要连接到SSH服务器上客户端软件就会向服务器发出请求请求用你的密钥进行安全验证。服务器收到请求之后先在该服务器上你的主目录下寻找你的公钥然后把它和你发送过来的公钥进行比较。如果两个密钥一致服务器就用公钥加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私钥在本地解密再把它发送给服务器完成登录。与第一种级别相比第二种级别不仅加密所有传输的数据也不需要在网络上传送口令因此安全性更高可以有效防止中间人攻击。
创建密钥对命令
ssh-keygen示例 客户机创建密钥对命令
[rootlocalhost ~]# ssh-keygen
Generating public/private rsa key pair.
//密钥对存放位置回车默认
Enter file in which to save the key (/root/.ssh/id_rsa):
//设置密钥对密码回车默认
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:817WC5/GOz2ozvFiGd8WgwnyhN9mr9YZiCYtxX2zbc rootlocalhost.localdomain
The keys randomart image is:
---[RSA 2048]----
| |
| |
| o |
| o o o..|
| So * |
| oo *.X o|
| .**E |
| ..O*.|
| o*Oo|
----[SHA256]-----
2.查看密钥对是否生成id_rsa为私钥id_ras.pub为公钥
[rootlocalhost ~]# cd .ssh
[rootlocalhost .ssh]# ls
id_rsa id_rsa.pub known_hosts3.将密钥发送至服务器命令格式如下
ssh-copy-id 用户名服务器IP示例 客户机将密钥发送至服务器
[rootlocalhost .ssh]# ssh-copy-id user192.168.239.129
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
user192.168.239.129s password: Number of key(s) added: 1Now try logging into the machine, with: ssh user192.168.239.129
and check to make sure that only the key(s) you wanted were added.[rootlocalhost .ssh]# 4.使用ssh免密登录到服务器
[rootlocalhost .ssh]# ssh user192.168.239.129
Last login: Mon Jul 1 13:58:22 2024 from 192.168.239.128SSH配置文件
OpenSSH的主配置文件/etc/ssh/sshd_config通过vim命令编辑主配置文件。 vim /etc/ssh/sshd_config各参数详情
Port22 设置SSH的端口号是22(默认端口号为22)Protocol 2 启用SSH版本2协议ListenAddress 192.168.0.222 设置服务监听的地址DenyUsers user1 user2 foo 拒绝访问的用户(用空格隔开)AllowUsers root osmond vivek 允许访问的用户(用空格隔开)PermitRootLogin no 禁止root用户登陆PermitEmptyPasswords no 用户登陆需要密码认证PasswordAuthentication yes 启用口令认证方式
修改SSH默认端口
SSH的默认端口为22 在实际生产环境中为了保证服务器安全通常会修改SSH的默认端口。步骤如下 1.打开服务器的SSH主配置文件设置新的端口号 vim /etc/ssh/sshd_config /Port进行查找Vim中输入i 进行编辑ESE 退出编辑:wq! 强制保存退出2.查看22端口相关值
[rootlocalhost .ssh]# semanage port -l grep ssh
ssh_port_t tcp 223.将10008端口的值修改为上面22端口的相关值
[rootlocalhost .ssh]# semanage port -a -t ssh_port_t -p tcp 10008semanage管理SELinux安全策略 命令参数
-a 添加
-t 设置类型
-p 设置协议查看是否添加成功
[rootlocalhost .ssh]# semanage port -l grep ssh
ssh_port_t tcp 10008,224.防火墙中放行10008端口
[rootlocalhost]# firewall-cmd --permanent --add-port10008/tcp
successfirewall-cmd命令参数
--permanent 永久生效
--add-port 设置端口号/协议5.重新加载防火墙
[rootlocalhost]# firewall-cmd --reload
successfirewall-cmd命令参数
--reload 重新加载6.重新启动SSH服务
systemctl restart sshd7.在客户机上测试连接
默认22端口无法连接
[userlocalhost ~]$ ssh user192.168.239.129
ssh: connect to host 192.168.239.129 port 22: Connection refused指定修改后的10008端口可以进行连接
[userlocalhost ~]$ ssh -p user192.168.239.129
Bad port user192.168.239.129
[userlocalhost ~]$ ssh -p 10008 user192.168.239.129
The authenticity of host [192.168.239.129]:10008 ([192.168.239.129]:10008) cant be established.
ECDSA key fingerprint is SHA256:et3QS43cH/fXhlqnbtuRUjZ/kgpfqQfiKZ3w5rw84Y.
ECDSA key fingerprint is MD5:8f:f8:f3:b4:af:cb:00:cb:49:cd:8c:65:16:a0:62:8d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added [192.168.239.129]:10008 (ECDSA) to the list of known hosts.
user192.168.239.129s password:
Last login: Mon Jul 1 15:02:34 2024 from 192.168.239.128
SSH文件传输
服务器文件下载到客户机
scp [选项] [服务器用户名]服务器IP地址或域名:服务器文件 本地目录示例
[rootlocalhost ~]# scp -P 10008 user192.168.239.129:/home/user /home/user
scp: /home/user: not a regular file
[rootlocalhost ~]# scp -P 10008 user192.168.239.129:/home/user/11.txt /home/user
11.txt 100% 4 0.8KB/s 00:00
[rootlocalhost ~]# 客户机文件文件上传服务器
scp [选项] 本地文件 [服务器用户名]服务器IP地址或域名:服务器目录示例
[rootlocalhost home]# cd /home/user
[rootlocalhost user]# ls
11.txt 12.txt
[rootlocalhost user]# scp -P 10008 12.txt user192.168.239.129:/home/user
12.txt 100% 4 0.9KB/s 00:00
[rootlocalhost user]#