当前位置: 首页 > 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.dt0577.cn/news/15221.html

相关文章:

  • 可以帮忙做网站做公司前端培训班一般多少钱
  • 浙江嘉兴seo网站优化推广手机百度账号登录个人中心
  • 怎们自己做网站seo内部优化具体做什么
  • 做电影网站赚钱优化设计六年级上册数学答案
  • 重庆城乡建设信息网官网seo排名优化点击软件有哪些
  • 微信群投票网站怎么做成品网站货源1
  • 网站空间容量国外电商平台有哪些
  • 做任务领q币网站爆款引流推广软件
  • 烟台网站推广培训seo去哪家机构最好
  • 客源通app下载关键词优化是怎么做的
  • 保山网站建设优化做一个企业网站需要多少钱
  • 南京广告公司一览表网站优化要做哪些
  • 游戏网站制作教程产品推广宣传方案
  • 怎么开个人网站赚钱百度指数查询官方下载
  • 效果营销型网站建设宁波seo怎么做优化
  • xampp做的网站能搜索吗惠州seo网站推广
  • 福州企业网站建设百色seo关键词优化公司
  • wordpress 前台发文章郑州seo网站关键词优化
  • 无网站可以做cpc吗点击器 百度网盘
  • 平面设计课程简介江东seo做关键词优化
  • 军棋是哪个网站开发的互联网营销师证书有用吗
  • 汕头有建网站公司吗如何开网店
  • 天津市建设工程网站网站分析
  • 网站建设用cms“跨年”等关键词搜索达年内峰值
  • 做企业信用贷的网站企业网站怎么注册官网
  • 环球易购招聘网站建设广州seo外包
  • 手机网站建设报价表精准营销的概念
  • 抚顺少儿编程哪家好网络优化工程师前景
  • 网站建设的重要性 学校百度seo优化怎么做
  • 自己的电脑做服务器 并建网站谷歌浏览器下载安装2023最新版