当前位置: 首页 > news >正文

全屋定制加盟哪个品牌好星链seo管理

全屋定制加盟哪个品牌好,星链seo管理,做网站的工作时间,金华义乌网站建设本章主要介绍ssh远程登录系统和远程拷贝的方法 ssh的基本用法打开远程图形化界面ssh无密码登录和安全操作Windows远程登录远程拷贝 很多时候服务器并没有显示器,我们也不可能每次都通过控制台去管理服务器,这时就需 要远程登录。远程登录到服务器可以通…

本章主要介绍ssh远程登录系统和远程拷贝的方法

  • ssh的基本用法
  • 打开远程图形化界面
  • ssh无密码登录和安全操作
  • Windows远程登录
  • 远程拷贝

很多时候服务器并没有显示器,我们也不可能每次都通过控制台去管理服务器,这时就需 要远程登录。远程登录到服务器可以通过Telnet或ssh的方式。但是用Telnet登录,整个过 程都是以明文的方式传输的,不安全。所以,建议使用ssh的方式来登录,因为ssh在整个连 接过程中,数据都是加密的

实验拓扑两台Linux操作系统

redhat8和node1

redhat中有aaa用户和jin用户,node1中只有jin用户

1.1 ssh的基本用法

ssh的基本用法1:

ssh 主机名 /IP

这里如果没有指定用什么用户连接,则以当前用户连接

当第一次远程连接到服务器时,要记录服务器的公钥指纹信息

[root@redhat8 ~]# ssh 192.168.161.12

上面如果输入的是no,则连接终止。输入yes,则保存在了当前用户家目录下 的.ssh/known_hosts文件中

如果使用aaa用户进行登录,连续输入3次密码不正确就会退出了,因为192.168.161.12上没有aaa用户,但是有jin用户

ssh的基本用法2:

1. ssh 0l 用户名 主机名 /IP
2. 用户名@主机名 /IP

建议用第2个。现在以jin的身份连接

[root@redhat8 ~]# ssh jin@192.168.161.12
jin@192.168.161.12's password: 
[jin@node1 ~]$

可以看到,此时已经正常连接过去了,要退出来时只要输入“exit”即可

[jin@node1 ~]$ exit
登出
Connection to 192.168.161.12 closed.
[root@redhat8 ~]# 

1.2 打开远程图形化界面

当远程连接到远端机器时,例如,从 redhat8上通过jin用户连接到node1

[root@redhat8 ~]# ssh jin@192.168.161.12
jin@192.168.161.12's password: 
Last login: Fri Dec  1 11:08:34 2023 from 192.168.161.16
[jin@node1 ~]$ firefox
Failed to open connection to "session" message bus: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Running without a11y support!
Error: no DISPLAY environment variable specified
[jin@node1 ~]$

然后执行firefox命令,出现了“Error: no DISPLAY environment variable specified”的错误提示。这是为什么呢?首先我们了解一下 Xserver和 Xclient

每个打开的图形化界面的工具,例如,终端、 Firefox浏览器、gedit记事本等,这些都叫作 Xclient,这些Xclient必须在 Xserver上运行。 Xserver是一个平台环境,安装系统时如果选择 了图形化界面,那么Xserver就已经安装上去 了,如图

要是想在本机打开远端服务器的Xclient,即图形化客户端,需要满足以下3个条件

(1)通过ssh登录到服务器时,要加上-X(大写的X)选项

因为ssh建立的连接默认只允许字符传输,不允许Xclient进行传输,加上-X选项之后就可以 让Xclient通过ssh建立的连接传输

(2)本地要运行Xserver

(3)远端服务器要安装xorg-x11-xauth,默认是已经安装上去了的

现在退出来,重新通过ssh连接过去,加上-X选项,命令如下

[root@redhat8 ~]# ssh jin@192.168.161.12 -X
jin@192.168.161.12's password: 
Last login: Fri Dec  1 11:16:30 2023 from 192.168.161.16
/usr/bin/xauth:  file /home/jin/.Xauthority does not exist
[jin@node1 ~]$

1.3 ssh无密码登录

ssh远程登录到服务器时有两种认证方式

1.3.1 密码认证

前面在redhat8上通过ssh连接到node1时需要输入密码才能正常登录,这种就是密码认证

1.3.2 密钥认证

如果做了密钥认证,远程登录时不需要密码就可以直接登录

需要生成一个密钥对

[aaa@redhat8 ~]$ ssh-keygen -f ~/.ssh/id_rsa -N ""
Generating public/private rsa key pair.
Your identification has been saved in /home/aaa/.ssh/id_rsa.
Your public key has been saved in /home/aaa/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:D6UKYyQIyqkWhvPj3p+22Q4GppGHL+jYtKo+rt67O/g aaa@redhat8
The key's randomart image is:
+---[RSA 3072]----+
|.                |
|=..              |
|==. .     .      |
|oo.=     o       |
|..* B   S        |
|.o O + . o       |
|. * . +   .      |
|o*.= ..=         |
|@**E*o=oo        |
+----[SHA256]-----+
[aaa@redhat8 ~]$

这条命令会生成一个密钥对(私钥和公钥),这里-f指定了生成私钥的路径和名称,如果 不指定,默认也是这个路径。-N后面的双引号中没有空格,意思是不对生成的私钥加密

这样aaa生成了自己的密钥对,存放在自己家目录的.ssh目录下

[aaa@redhat8 ~]$ ls .ssh/
id_rsa  id_rsa.pub  known_hosts
[aaa@redhat8 ~]$

其中id_rsa是私钥,id_rsa.pub是公钥

然后通过ssh-copy-id把公钥的内容存储在jin@node1的家目录下的.ssh/authorized_keys文件中,如果没有此文件,拷贝过去之后会自动创建

[root@node1 ~]# ls .ssh
ls: 无法访问.ssh: 没有那个文件或目录
[root@node1 ~]#

下面执行ssh-copy-id命令

[aaa@redhat8 ~]$ ssh-copy-id jin@192.168.161.12
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/aaa/.ssh/id_rsa.pub"
/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
jin@192.168.161.12's password: Number of key(s) added: 1Now try logging into the machine, with:   "ssh 'jin@192.168.161.12'"
and check to make sure that only the key(s) you wanted were added.[aaa@redhat8 ~]$

这样aaa的公钥就存放在jin@node1家目录下的.ssh/authorized keys文件中了

[jin@node1 ~]$ cat .ssh/authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDI3ngWP/jf8809s1EOyXI9CnLu92iYEfJqxvj09nvHDrEgUb4PT0+RLkys/sqzViYdtQvOKhGgXqCsU29PZZXNQPgisbF2+7w7H3XvOlSPH/3p0/9HgMHDghHOH3G6A/dMcqh+KRWcz/6U8wzNtk6TBcZL8ovT64erHigx/hMlgE0fP/fX6SnFUFgpFVUSGEAszxzl6oPkSXTITH2U8/1n3rZMNKL9GxPmFLMSg5e5VlJSCjOIxlzDePmgeGJkvEx79ZMqNzEJ4AFl7gkpCOmx1STe415lPFS2m+Xgvrvz0og12Ojy+9lTeIA1iFiDUZxP4GeUhMM9wHU6qfZbT2+uTxx/va+4pu6NEmzYb30VvmknMIaVU0fDwlW0WMhaawOVd7bYqF6MfhAnl191aYGy823N4rkvijIdAjlO5MitJNO8+6+9hhTDAV0TlycUL7KASzS13r6Kdq5yFP5aBBJ+TpoczJkjdXnQUGywRrUJ/xck5HJu+tlB9dF88g1NSSk= aaa@redhat8
[jin@node1 ~]$

通过对比,发现这个文件的内容就是 aaa@redhat的公钥的内容

下面远程登录测试

[aaa@redhat8 ~]$ ssh jin@192.168.161.12
Last login: Fri Dec  1 11:48:58 2023 from 192.168.161.1
[jin@node1 ~]$

可以看到,已经无密码登录过去了

1.4 ssh安全设置

前面已经讲了,ssh有两种认证方式:密码认证和密钥认证。aaa@redhat到jin@node1用的是密钥认证,其他用户的登录方式仍然是密码登录,现在想设置只能用 其中一种认证,是否可以?答案是可以的

1.4.1 禁用密钥登录

在node1中,以 root用户编辑/etc/ssh/sshd_config,找到 PubkeyAuthentication, 修改内容如下

将#PubkeyAuthentication yes修改为PubkeyAuthentication no(需要注意的是,这里 前面的注释符#被删除了),这样就禁用了密钥登录,保存退出并重启sshd

[root@node1 ~]# systemctl restart sshd
[root@node1 ~]#

此时已经禁用了密钥登录,只能密码登录,到 redhat上进行测试

[aaa@redhat8 ~]$ ssh jin@192.168.161.12
jin@192.168.161.12's password: 
Last login: Fri Dec  1 11:50:06 2023 from 192.168.161.16
[jin@node1 ~]$

这里只能使用密码登录,原来配置的密钥认证不再生效

再次设置允许密钥登录(PubkeyAuthentication yes),修改内容如下

将PubkeyAuthentication no修改为PubkeyAuthentication yes,并重启sshd,命令如下

[root@node1 ~]# systemctl restart sshd
[root@node1 ~]#

1.4.2 禁止密码登录

在node1上,以root用户编辑/etc/ssh/sshd_config,找到PasswordAuthentication, 修改内容如下

将PasswordAuthentication yes修改为PasswordAuthentication no,这样就禁用了密 码登录,保存退出并重启sshd

[root@node1 ~]# systemctl restart sshd
[root@node1 ~]#

此时只允许密钥登录,不允许密码登录

为了方便测试,在node1上创建用户bbb,密码设置为123.123

[root@node1 ~]# useradd bbb
[root@node1 ~]# echo 123.123 | passwd --stdin bbb
更改用户 bbb 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]#

在redhat上进行验证,首先以jin身份连接过去

[aaa@redhat8 ~]$ ssh jin@192.168.161.12
Last login: Fri Dec  1 11:55:51 2023 from 192.168.161.16
[jin@node1 ~]$

可以看到,使用tom登录192.168.26.102时是可以无密码登录的

然后以bbb身份连接过去

[aaa@redhat8 ~]$ ssh bbb@192.168.161.12
bbb@192.168.161.12: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
[aaa@redhat8 ~]$

因为我们并没有做bbb用户无密码登录到node1,只能使用密码登录,而密码登录被禁用, 所以bbb登录失败

自行设置允许密码登录,修改/etc/ssh/sshd_config

 将PasswordAuthentication no修改为PasswordAuthentication yes,并重启sshd

[root@node1 ~]# systemctl restart sshd
[root@node1 ~]# 

再次使用bbb用户登录

[aaa@redhat8 ~]$ ssh bbb@192.168.161.12
bbb@192.168.161.12's password: 
Last failed login: Fri Dec  1 12:07:28 CST 2023 from 192.168.161.16 on ssh:notty
There were 3 failed login attempts since the last successful login.
[bbb@node1 ~]$ 

已经可以正常登录了

1.5 ssh限制用户

对于服务器上的有效用户,基本上都是可以通过 ssh 连按过去的,但是有时为了安全性 要禁用某些用户登录,如禁用root等

1.5.1 禁用root用户登录

默认情况下,是可以用root登录到远端服务器的

[aaa@redhat8 ~]$ ssh root@192.168.161.12
root@192.168.161.12's password: 
Last login: Fri Dec  1 11:01:05 2023 from 192.168.161.16
[root@node1 ~]#

如果要禁用root用户登录,在server2一用vim编辑哭打开/eto/ssh/sshd_config,按如下内容修改

将PermitRootLogin yes修改为PermitRootLogin no,保存退出并重启sshd

[root@node1 ~]# systemctl restart sshd
[root@node1 ~]#

 此时就禁用root用户登录了,在redhat上进行验证

[aaa@redhat8 ~]$ ssh root@192.168.161.12
root@192.168.161.12's password: 
Permission denied, please try again.
root@192.168.161.12's password:

提示被拒绝,是因为不允许root用户登录,按【Ctrl+C】组合键终止

如果允许root用户登录,将PermitRootLogin no修改为PermitRootLogin yes,然后重启sshd 即可

1.5.1 禁用普通用户登录

如果想禁用某普通用户,可以用DenyUsers选项实现,用法是打开/etc/ssh/sshd_config, 在任意一行添加 DenyUsers userX,就可以限制userX ssh登录了。如果需要在server2上禁 用bob用户ssh登录,可以用vim 编辑器打开/etc/ssh/sshd_config,在任意一行添加 DenyUsersbob,命令如下

这里就是禁用bob用户ssh 登录,保存退出并重启sshd,然后到redhat上进行测试

[aaa@redhat8 ~]$ ssh bbb@192.168.161.12
bbb@192.168.161.12's password: 
Permission denied, please try again.
bbb@192.168.161.12's password:

提示被拒绝,是因为bbb用户被限制登录了,按【Ctrl+C】组合键终止

这里只是禁用了bbb用户,并不影响其他用户登录

类似的选项还有AllowUsers和 DenyGroups

其中AllowUsers userX的意思是,只允许userX用户登录,不允许其他用户登录

如果写成AllowUsers userX userY,意思是只允许userX和userY登录,不允许其他用户登录

如果以下两个条目同时出现:

则 DenyUsers生效,bob仍然是不能登录的

1.6 Windows远程登录

很多时候服务器上安装的是 Linux系统,但我们平时用的笔记本电脑是Windows系统, 如果要使用Windows远程登录,只要在Windows上安装ssh客户端,就可以登录到远端的 Linux服务器了。Windows中常见的ssh客户端包括PuTTY、Xshell、SecureCRT 等

Windows中的这些客户端,大家根据自己的喜好自行下载使用即可

1.7 远程拷贝

有时我们需要远程拷贝一些文件,例如,把文件或目录从A机器拷贝到B机器上,这种情 况下我们一般用scp或rsync

scp或 rsync利用的是ssh建立的通道,然后把文件传输过去,scp的用法如下

 scp /path1/file1 remoteIP:/path2/

这里的意思是把本地的/path1/file1铂贝到remoteIP这台机器的/path2目录中。需要注意的是,远程主机上目录的表示方式是“IP:目录”,冒号两边没有空格。如果拷贝目录需加上选项

先查看node1上/opt目录中的内容

[root@node1 ~]# ls /opt/
[root@node1 ~]# 

然后到redhat上拷贝 /etc/hosts到server2上的/opt目录中

[root@redhat8 ~]# scp /etc/hosts 192.168.161.12:/opt
root@192.168.161.12's password: 
hosts                                      100%  158    78.6KB/s   00:00    
[root@redhat8 ~]#

这样就把文件拷贝过去了,scp利用的是ssh建立的通道,如果没有指定使用哪个用户接到 192.168.161.12,则使用的是当前用户 root

下面以jin身份登录192.168.161.12并拷贝文件

[root@redhat8 ~]# scp /etc/hosts jin@192.168.161.12:/opt
jin@192.168.161.12's password: 
scp: /opt/hosts: Permission denied
[root@redhat8 ~]#

因为192.168.161.12上的jin用户对/opt没有写权限,所有拷贝过去时出现了“Permission denied”这样的报错信息

把目录/boot/grub2拷贝到node1上的/opt目录中

[root@redhat8 ~]# scp /boot/grub2/ 192.168.161.12:/opt
root@192.168.161.12's password: 
/boot/grub2: not a regular file
[root@redhat8 ~]#

结果是没有拷贝过去,因为/boot/grub2是一个目录,拷贝目录需要加上r选项

这样就把该目录拷贝过去了,到node1上查看

[root@node1 ~]# ls /opt/
grub2  hosts
[root@node1 ~]#

清空node1上/opt中的内容

[root@node1 opt]# rm -rf /*
[root@node1 opt]# ls
[root@node1 opt]#
http://www.wooajung.com/news/33270.html

相关文章:

  • 环保业网站建设的策划app推广注册赚钱
  • 教育培训类网站建设何鹏seo
  • 手机网站 尺寸汕头seo优化项目
  • 老年门户网站建设的意义怎么自己做网站推广
  • 麻花星空影视传媒制作公司网站线上推广
  • 网站服务费算什么费用百度账号怎么改用户名
  • 网站开发教程 模板seo外链工具源码
  • wordpress 在线预览北京推广优化公司
  • wordpress打开3秒seo关键词怎么优化
  • 旅游建设网站网站seo优化方案策划书
  • 凡科网站建站后 怎么编辑自己的代码源排名前十的大学
  • 做帖子网站seo优化一般包括
  • 网站正在建设中 源码四川自助seo建站
  • 濮阳房产网站建设免费信息发布平台网站
  • 工会网站建设可以百度保障中心人工电话
  • 可以做试卷的网站怎么制作网页链接
  • 如何做网站地图txt网店推广有哪些
  • 网站备案 核验单海南乐秀同城群软件下载
  • 销售牛的网站网络运营推广具体做什么工作
  • 百度推广一年收费标准关键词排名优化怎么样
  • 上海网站开发多少钱优化防控举措
  • 企业官方网站建设app推广活动策划方案
  • 许昌网站建设汉狮套餐百度搜索引擎网站
  • 湖南网站搜索排名优化电话网店推广分为哪几种类型
  • 郑州做网站好的公司app推广注册接单平台
  • 用sublime做的网站打不开免费的发帖收录网站
  • 网站开发实例百度云优化营商环境心得体会2023
  • wordpress安装失败网站搜索引擎优化的步骤
  • 响应式商业网站开发实训报告网络营销与网站推广的
  • wordpress后台改成中文搜索引擎排名优化seo