linux 远程连接ssh 及 加密(unit9)

本文介绍SSH服务的安装配置及远程连接方法,包括公钥密码验证、图形工具调用等,并提供提升OpenSSH安全性的步骤,如配置密码验证、用户权限等。
#
9.openssh-server
#
1.openssh-server

功能:让远程主机可以通过网络访问sshd服务,开始一个安全shell

2.客户端连接方式

ssh 远程主机用户@远程主机ip
[root@desktop0 ~]# ssh root@172.25.0.11
The authenticity of host ‘172.25.0.11 (172.25.0.11)’ can’t be established.
ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
Are you sure you want to continue connecting (yes/no)? yes ##连接陌生主机时需要建立认证关系
Warning: Permanently added ‘172.25.0.11’ (ECDSA) to the list of known hosts.
root@172.25.0.11’s password: ##远程用户密码
Last login: Mon Oct 3 03:13:47 2016
[root@server0 ~]# ##登陆成功

ssh 远程主机用户@远程主机ip -X ##调用远程主机图形工具
ssh 远程主机用户@远程主机ip command ##直接在远程主机运行某条命令
不用登陆上远程另一台主机

[kiosk@foundation95 Desktop]$ ssh root@172.25.254.106
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
d1:1b:ea:40:fb:e7:73:0e:14:e7:60:cc:c8:1f:cf:3c.
Please contact your system administrator.
Add correct host key in /home/kiosk/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /home/kiosk/.ssh/known_hosts:3
ECDSA host key for 172.25.254.106 has changed and you have requested strict checking.
Host key verification failed.

如果/home/kiosk/.ssh,下有记录。登陆会失败,需删除之前的记录,重新连接即可。

[kiosk@foundation95 Desktop]cd/home/kiosk/.ssh[kiosk@foundation95.ssh] ls
authorized_keys id_rsa known_hosts
[kiosk@foundation95 .ssh]catknownhosts172.25.254.105ecdsasha2nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBLDS2mYwOje+NcrtilLyPmmwk+UwFcjLUWMu/bqRQYi7eVRncJ5q4OXqj8xE93zPt2nhHts/JQ1D7+FIyX8Xui4=172.25.254.107ecdsasha2nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHX+o9KAnlfw2dE7CsmM4hqfv1udM79a5NWC2BuWlmfKSwfYLptPQMJF8bnqaz0EjDlxCxRu/aito+GphPLzp/k=172.25.254.106ecdsasha2nistp256AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBHX+o9KAnlfw2dE7CsmM4hqfv1udM79a5NWC2BuWlmfKSwfYLptPQMJF8bnqaz0EjDlxCxRu/aito+GphPLzp/k=[kiosk@foundation95.ssh] rm -fr known_hosts
[kiosk@foundation95 .ssh]cd/home/kiosk/Desktop[kiosk@foundation95Desktop] ssh root@172.25.254.106
The authenticity of host ‘172.25.254.106 (172.25.254.106)’ can’t be established.
ECDSA key fingerprint is d1:1b:ea:40:fb:e7:73:0e:14:e7:60:cc:c8:1f:cf:3c.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘172.25.254.106’ (ECDSA) to the list of known hosts.
root@172.25.254.106’s password:
Last login: Sat Apr 8 10:13:20 2017
[root@localhost ~]#

3.sshkey加密

1.生成公钥私钥
[root@server0 ~]# ssh-keygen ##生成公钥私钥工具
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):[enter] ##加密字符保存文件(建议用默认)
Created directory ‘/root/.ssh’.
Enter passphrase (empty for no passphrase): [enter] ##密钥密码,必须>4个字符
Enter same passphrase again: [enter] ##确认密码
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:
ab:3c:73:2e:c8:0b:75:c8:39:3a:46:a2:22:34:84:81 root@server0.example.com
The key’s randomart image is:
+–[ RSA 2048]—-+
|o |
|E. |
|.. |
|. . o |
|.o. * . S |
|oo.o o . |
|+ =. . . |
|o. oo.+.. |
| ..o*. |
+—————–+
[root@server0 ~]# ls /root/.ssh/
id_rsa id_rsa.pub
id_rsa ##私钥,就是钥匙
id_rsa.pub ##公钥,就是锁

2.添加key认证方式
[root@server0 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.0.11
ssh-copy-id ##添加key认证方式的工具
-i ##指定加密key文件
/root/.ssh/id_rsa.pub ##加密key
root ##加密用户为root
172.25.0.11 ##被加密主机ip

3.分发钥匙给client主机
[root@server0 ~]# scp /root/.ssh/id_rsa root@172.25.0.10:/root/.ssh/

4.测试

[root@desktop0 ~]# ssh root@172.25.0.11 ##通过id_rsa直接连接不需要输入用户密码
Last login: Mon Oct 3 03:58:10 2016 from 172.25.0.250
[root@server0 ~]#

[root@foundation95 ~]# ssh root@172.25.254.107
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
以上是没有密钥的报错,将钥匙分发给客户端主机,就可以连接:
[root@foundation95 ~]# ssh root@172.25.254.107
Last login: Fri Apr 7 23:07:14 2017 from 172.25.254.106
[root@localhost ~]#

实验步骤:

服务端:
1、ssh-keygen (生成钥匙和锁)
2、ssh-copy-id -i /root/.ssh/id_rsa.pub root@172.25.254.106(自己的主机用户及ip)
给自己的主机添加key认证方式
3、scp /root/.ssh/id_rsa root@172.25.254.95:/root/.ssh/(客户端的用户及地址)
发钥匙给到客户端主机
4、vim /etc/ssh/sshd_config 修改配置文件,将密码登陆改为no(78行):wq保存退出
5、systemctl restart sshd.service 重启配置文件,使之生效

客户端:
ssh连接服务端。看没有密码是否可以登陆。

4.提升openssh的安全级别

1.openssh-server配置文件
/etc/ssh/sshd_config
78 PasswordAuthentication yes|no ##是否开启用户密码认证,yes为支持no为关闭
48 PermitRootLogin yes|no ##是否允许超级用户登陆
49 AllowUsers student westos ##用户白名单,只有在名单中出现的用户可以使用sshd建立shell
50 DenyUsers westos ##用户黑名单

<think>我们正在处理一个关于在Oracle Linux 9上安装和配置VNC服务器的问题。根据提供的引用,我们可以总结出一些关键步骤,但需要结合Oracle Linux 9的具体情况来调整。 引用[1]提到了连接到VNC服务器的步骤,引用[2]提到了配置VNC服务以使用图形界面安装Oracle,引用[3]提到了开机自动登录的配置(但通常不推荐)。 由于用户的需求是安装和配置VNC服务器,我们将按照以下步骤进行: 1. 安装必要的软件包:包括VNC服务器和图形界面(如果尚未安装)。 2. 配置VNC服务器:设置VNC密码和配置文件。 3. 启动VNC服务器并设置开机自启。 4. 配置防火墙以允许VNC连接。 5. 连接到VNC服务器。 注意:Oracle Linux 9基于RHEL 9,因此我们可以使用类似RHEL/CentOS的配置方法。 具体步骤如下: ### 1. 安装软件包 首先,更新系统并安装必要的软件包。我们需要安装TigerVNC服务器(一个常用的VNC服务器)以及一个图形桌面环境(如GNOME)。 ```bash sudo dnf update -y sudo dnf install tigervnc-server @gnome-desktop -y ``` ### 2. 配置VNC用户 为当前用户设置VNC密码。切换到要使用VNC登录的用户(例如`oracle`),然后运行: ```bash vncpasswd ``` 它会要求你设置一个密码(用于VNC连接)和一个可选的视图密码(view-only password)。设置密码后,会在用户家目录下生成一个`.vnc`目录。 ### 3. 配置VNC服务器服务 创建VNC服务的配置文件。我们可以复制一个示例配置文件: ```bash sudo cp /usr/lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service ``` 编辑该文件,将`<USER>`替换为你的用户名(例如`oracle`): ```bash sudo vi /etc/systemd/system/vncserver@:1.service ``` 在文件中找到这一行: ``` ExecStart=/usr/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i -geometry 1280x720 -depth 24" ``` 将其中的`<USER>`替换为你的用户名。 ### 4. 重新加载systemd并启动服务 重新加载systemd以识别新的服务文件: ```bash sudo systemctl daemon-reload ``` 启动VNC服务并设置开机自启: ```bash sudo systemctl enable --now vncserver@:1.service ``` ### 5. 配置防火墙 如果防火墙开启,需要开放VNC端口。默认的端口是5901(对应显示号1),如果需要更多显示号,端口号会递增(5902,5903等)。 ```bash sudo firewall-cmd --add-port=5901/tcp --permanent sudo firewall-cmd --reload ``` ### 6. 连接到VNC服务器 使用VNC客户端(如TigerVNC、RealVNC或TightVNC)连接到服务器。输入服务器的IP地址和端口号,例如:`192.168.0.1:5901`。 ### 7. 配置图形界面启动(可选) 如果你希望系统启动时自动进入图形界面,可以设置默认运行级别为图形界面: ```bash sudo systemctl set-default graphical.target ``` ### 8. 开机自动登录(可选,不推荐) 如果确实需要开机自动登录,可以编辑`/etc/gdm/custom.conf`,在`[daemon]`部分添加: ```ini AutomaticLoginEnable=true AutomaticLogin=your_username ``` 但请注意,这可能会带来安全风险。 ### 注意事项: - 如果连接后出现灰色屏幕,可能是因为没有正确配置图形环境。确保安装了GNOME桌面,并且用户目录下的`.vnc`目录中有正确的配置文件。可以尝试在用户目录下的`.vnc`目录中创建一个名为`xstartup`的文件(如果不存在),并赋予可执行权限: ```bash #!/bin/sh [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources vncconfig -iconic & dbus-launch --exit-with-session gnome-session & ``` 然后设置权限: ```bash chmod +x ~/.vnc/xstartup ``` 然后重启VNC服务。 ### 验证 使用`systemctl status vncserver@:1.service`检查服务状态。 ### 生成相关问题 根据以上内容,生成相关问题: §§相关问题§§ 1. 如何为不同的用户配置多个VNC会话? 2. 如何更改VNC服务器的默认端口? 3. 如何解决VNC连接后出现灰色屏幕的问题? 4. 在Oracle Linux 9中如何安装其他桌面环境(如KDE)? 5. 如何配置VNC以使用更安全的连接(例如通过SSH隧道)? [^1]: 引用自Oracle Linux配置VNC服务器的步骤 [^2]: 引用自远程服务器Oracle安装系统,Linux使用VNC服务远程安装Oracle [^3]: 引用自Oracle Linux启用自带VNC的配置</think>### 在 Oracle Linux 9 上安装和配置 VNC 服务器 以下是完整操作步骤(需 root 权限): #### 1. **安装必要软件包** ```bash sudo dnf install tigervnc-server gnome-session gnome-terminal -y ``` #### 2. **配置 VNC 密码** ```bash vncpasswd # 输入两次用户密码(会保存在 ~/.vnc/passwd) ``` #### 3. **创建服务配置文件** ```bash sudo vi /etc/systemd/system/vncserver@:1.service ``` 粘贴以下内容(替换 `your_username` 为实际用户名): ```ini [Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=your_username WorkingDirectory=/home/your_username ExecStartPre=/bin/sh -c &#39;/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :&#39; ExecStart=/usr/bin/vncserver -geometry 1280x720 -depth 24 ExecStop=/usr/bin/vncserver -kill %i [Install] WantedBy=multi-user.target ``` #### 4. **配置图形界面** ```bash vi ~/.vnc/config ``` 添加: ```ini session=gnome geometry=1280x720 alwaysshared localhost ``` #### 5. **启动服务并设置开机自启** ```bash sudo systemctl daemon-reload sudo systemctl enable --now vncserver@:1.service ``` #### 6. **防火墙配置** ```bash sudo firewall-cmd --permanent --add-port=5901/tcp sudo firewall-cmd --reload ``` #### 7. **客户端连接** 使用 VNC 客户端(如 TigerVNC、RealVNC)连接: ``` 服务器IP:1 # 例如 192.168.1.100:1 ``` #### 8. **验证服务状态** ```bash sudo systemctl status vncserver@:1.service # 正常应显示 "active (running)" ``` #### 9. **故障排查** 若连接后出现灰色屏幕: ```bash chmod u+x ~/.vnc/xstartup echo "gnome-session &" > ~/.vnc/xstartup sudo systemctl restart vncserver@:1 ``` > **重要安全提示** > 1. 默认使用非加密连接,生产环境建议通过 SSH 隧道转发: > `ssh -L 5901:localhost:5901 your_username@server_ip` > 2. 密码强度需大于 8 位字符(包含数字/字母/符号)[^1] > 3. 长期不用时关闭服务:`sudo systemctl stop vncserver@:1`[^3] [^1]: VNC 客户端连接需要服务器的 IP 地址和端口号 [^2]: 配置 VNC 服务实现图形界面远程安装 [^3]: 开机自动登录配置需谨慎使用
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值