CentOS 7へのリモートデスクトップアクセスを有効にする方法

CentOS 7へのリモートデスクトップアクセスを有効にする方法

SSHを介してサーバーにアクセスするには、コマンドラインインターフェースを使用してVNCまたはターミナルサーバークライアントを使用してサーバーにアクセスするリモートアクセスをインストールして構成する必要があります。

GUIを有効にするには:

yum -y groupinstall "GNOME Desktop" && systemctl set-default graphical.target && shutdown -r now

ただし、コマンドラインのみを使用してリモート管理アクセスを有効にするソリューションを見つけることはできません。 CentOSのドキュメントでは、GUIを使用してこれを行う方法について説明します(GUIにアクセスできる場合)、コマンドラインオプション、または少なくともこの場合、GUIインターフェイスを使用して編集する構成ファイルについては説明しません。

https://www.centos.org/docs/4/html/rhd-dg-en-4/ch-ddg-remote-desktop.html

これを行う方法を知っている人はいますか?

答え1

centOにVNCサーバーをインストールして構成する手順は次のとおりです。

  1. ~]# yum TigerVNC サーバーのインストール
  2. ~]# cp /usr/lib/systemd/system/[Eメール保護]/etc/systemd/system/vncserver@:1.service
  3. ~]# vim /etc/systemd/system/vncserver@:1.service

このファイルでUSERをRiddhiに置き換えます。

ExecStart=/usr/sbin/runuser -l USER -c "/usr/bin/vncserver %i -geometry 1280x1024"
PIDFile=/home/USER/.vnc/%H%i.pid
  1. ~]# systemctl デーモンの再ロード
  2. ~]# su - リディ
  3. ~]$ vncpasswd//update password for user riddhi
  4. ~]# systemctl start vncserver@:1.service
  5. ~]# systemctl 有効 vncserver@:1.service

これで、WindowsでcentOに接続します。

  1. IP:ip address:5901

  2. パスワード:password of vncpasswd

答え2

「root」アカウントへのリモートアクセスを有効にしてリスクを負う場合は、/etc/ssh/sshd_configで次の行のコメントを外します。

PermitRootLogin yes

その後、SSHデーモンを再起動します。

service sshd restart

その後、システムにSSH経由で接続できます。

ssh root@SERVER_IP_ADDRESS

他のユーザーを使用している場合はもちろん可能です。

ssh username@SERVER_IP_ADDRESS

アクセスが拒否された場合は、ファイアウォールをオフにしてこれが問題であることを確認します。

少し危険性が低い代替手段はSSHキーペアを設定することです(したがって、接続するたびにパスワードを入力する必要はありません)。また、sudoを実行するたびにrootパスワードの入力を求めるプロンプトが表示されないようにユーザーを設定します。

答え3

VNCをインストールするのが私にとって効果的だったので、CentOS7ではGNOMEなどで何も(GUI)有効にする必要はないようです。必要に応じて他の人が使用できるように小さなスクリプトを作成しました。 CentOS7の場合

yum -y groupinstall "GNOME Desktop" && 
systemctl set-default graphical.target && 
yum install -y tigervnc-server &&
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:4.service &&
systemctl enable vncserver@:4.service   &&
sed -i 's/<USER>/root/g' /etc/systemd/system/vncserver@:4.service &&
cp /lib/systemd/system/[email protected] /etc/systemd/system/vncserver@:5.service &&
cat <<"EOF" >> /etc/systemd/system/vncserver@:5.service
[Service]
Type=forking
# Clean any existing files in /tmp/.X11-unix environment
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/sbin/runuser -l root -c "/usr/bin/vncserver %i"
PIDFile=/root/.vnc/%H%i.pid
ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
EOF
systemctl enable vncserver@:5.service &&
#  Setting Firewall rules
firewall-cmd --permanent --zone=public --add-port=5904-5905/tcp &&
firewall-cmd --reload &&
#setting password for vnc access
vncserver &&
#restarting services
systemctl daemon-reload &&
systemctl restart vncserver@:4.service &&
systemctl restart vncserver@:5.service &&
shutdown -r now 

この手順では、VNCクライアントを使用してログインできます。私にとっては、「Realvnc」はうまく機能しますが、他の人は奇妙な理由で動作しません...注:

  1. 接続ポートは5904および5905です。
  2. 無料でより多くの同時接続を有効にする必要がある場合 ;) Windowsとは異なり、 :) 以下を追加します。
    • /etc/systemd/system/vncserver@:6.service
    • /etc/systemd/system/vncserver@:7.service
    • /etc/systemd/system/vncserver@:8.service
      など... ポート 5906,5907,5908 が他のアプリケーションとして使用されていないことを確認してください。
  3. ネットワークインターフェイスが属する領域によっては、ファイアウォールルールを変更する必要がある場合があります。

ここに画像の説明を入力してください。

関連情報