★★

解決「REMOTE HOST IDENTIFICATION HAS CHANGED!」的錯誤

今天收到通知,有一台主機因為更新失敗,所以用了舊的備份重啟主機,導致資料有點舊,請我將最新資料更新上去。

連線到該主機時,發生了奇怪的錯誤(恕我馬賽克一些資料):

xxx@yyy [~]# ssh heaven@111.222.333.444

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    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

SHA256:asdfasdfasdfasdfasdfasdf

Please contact your system administrator.

Add correct host key in /home/xxx/.ssh/known_hosts to get rid of this message.

Offending ECDSA key in /home/xxx/.ssh/known_hosts:1

ECDSA host key for ...... has changed and you have requested strict checking.

Host key verification failed.

 

重要度:
文章分類:
電腦標籤:

FontForge 使用心得

前言

 

FontForge 是一支功能很強的字型處理程式,會接觸這支程式,主要是在學習由某些字型檔,取出部份字型,打造出一個 Web 開放字型 woff/woff2(Web Open Font Format),讓讀者在線上閱讀佛典時,可以在沒有安裝較新的 unicode 字型的情況下,也能看到這些字型,就是利用 Web 開放字型。

 

下載與安裝

 

FontForge 官網:https://fontforge.org/

 

下載後請依官網指示安裝及執行,重點提示:

 

  • 在安裝程式按右鍵,選擇「以系統管理員身分執行」。

 

image


 

  • 安裝後,開啟 FontForge 也是按右鍵,選擇「以系統管理員身分執行」,或是直接在捷徑按右鍵,選內容 -> 相容性,勾選「以系統管理員的身分執行此程式」。

 

image

 

如果要處理的字型很大,就需要 64 位元版的程式,可在這裡下載最新的版本:

 

https://sourceforge.net/projects/fontforgebuilds/files/x86_64/Portable/

 

不過作者有交待,64 位元不常更新,可能問題較多,請儘量少用。

 

重要度:
文章分類:

C++ Builder 處理無法載入專案的錯誤 Could not convert variant of type (Null) into type (OleStr)

今天要用 C++ Builder 10.2.3 開啟一個舊的專案時,卻突然跳出一個錯誤訊息。

 

 image

 

這個專案半年前有開啟過,並沒有什麼問題。C++ Builder 開啟其它專案也沒有問題,不知是哪裡出錯了?

 

找了許多資料,有許多都是在程式中或資料庫中遇到的,不是我這種一開始就打不開專案的問題。

 

終於在這個影片中看到一個解法

 

https://www.youtube.com/watch?v=WuA7nuADRx0

 

重要度:
文章分類:
電腦標籤:

在 Github 提交 Pull Request

這篇是介紹如何在 Github 上修改別人的專案。當然不是直接修改,而是送出建議,請對方修改。

 

底下是記錄實際操作過程,前置作業是以 cbeta-git 為對方代表,有一個 testpr 的專案。

 

heavenchou 是我方代表,首先要 Fork testpr 專案,並且在自己 Fork 的專案進行修改,然後提交、推送,和修改一般專案一樣。

 

此時到 Github 去看,可以看到有一個通知:

 

This branch is 1 commit ......

 

按下旁邊的 Contribute,會出現如下視窗,按下 Open pull request。

 

image
 

重要度:
文章分類:
電腦標籤:

Mac App 使用多個 Storyboard 設計畫面

Mac App 在使用 Storyboard 設計畫面時,預設是有一個主要的 Storyboard,裡面可以放置很多個 View,然而畫面一多,處理起來也是麻煩,本文是介紹如何使用多個 Storyboard,以及如何將原有的 Storyboard 分割。

 

測試程式

 

底下是示範操作。

 

首先,先做出第一個視窗。

 

image

 

接著,依傳統的方式,加入 View Controller 當做第二個視窗。

 

image

 

加入後,並在第一視窗的按鈕連上第二視窗,用來開啟第二視窗。

 

image

 

測試執行,果然可以順利開啟第二視窗。


 

image

 

重要度:
文章分類:
電腦標籤:

在 Mac 命令列使用 Github 的 Token 執行 Git Push

以前有寫過一篇「在 Xcode 操作 Git」,為什麼又要寫這篇在命令列的 push 呢?

因為今天用 Xcode v13.3 提交雖然有成功,但推送卻失敗,得到如下訊息。

 

image

 

在 stackoverflow 有看到有人也是今天提問,但還沒有看到回答。

 

https://stackoverflow.com/questions/71581440/q-an-unknown-error-occurred-user-rejected-certificate-for-github-com-17-on

 

所以決定先在命令列推送。

 

重要度:
文章分類:
電腦標籤:

在 C# 解壓縮整個檔案(可覆寫舊檔)

最近在用 C# 寫程式,處理到解壓縮的部份,雖然它有很方便的方法

 

ZipFile.ExtractToDirectory(壓縮檔, 目的目錄);

 

不過實測後,發現一個問題,若目的已有相同的檔案,則會産生錯誤,所以要自行解決這個問題。

 

我原本想過三個方法。

 

第一個是先解壓縮在其它目錄,再全部移到指定的目錄,但缺點是可能會佔用太多空間。如果原本的檔案就很大,要解開的檔案也很大,硬碟空間不夠的情況,解壓縮就會失敗,所以這個方法就先放棄了。

 

第二個方去是先逐一檢查檔案是否存在,存在就先刪除。如此一來,先把舊檔案刪掉,空間就會多一點,比較不擔心空間不夠的問題,最後再用 ZipFile.ExtractToDirectory 解壓縮至指定目錄。

 

第三個方法同上,只是突然想到,乾脆在檢查是否存在之後,就直接解壓縮該檔案,不用等到最後再全部解壓縮。

 

重要度:
文章分類:

使用 SSH 和金鑰登入 cPanel 主機

這篇是要介紹使用 SSH 和金鑰登入 cPanel 的主機,我是以 Buluhost 和 GreenGeeks 主機為例。不過有些主機商沒有提供 SSH 的功能,例如 Sugarhosts,我有幾個站放在那邊,它的最大的好處是可以用中文溝通,可惜 SSH 不支援。

 

底下是記錄操作過程。

 

要求主機商啟用 SSH

 

有網友說 Bulehost 預設 SSH 是啟用的,好像也看過官網如此提過。不過我在測試時,看到這個訊息:

 

Shell access is not enabled on your account!

If you need shell access please contact support.

 

所以就線上請 Bulehost 幫我啟用,幸好只用簡單的英文就完成任務,對方立刻就幫忙啟用了。

 

至於 GreenGeeks 則是在 Support 網頁按下 Open new Ticket,簡單寫著我需要 SSH 功能,對方也是很快就來信說已經啟用了。

 

查詢主機 IP、網址和登入帳號

 

在 cPanel 界面中,可以找到主機的 IP,也可以看到用戶名和網域,下圖紅色的文字是被我修改過的,看的出來那是不合理的 IP。 :)

 

image

 

重要度:
文章分類:

頁面

訂閱 ★★