2016-12-05 280 views
1

我知道SSHv1是超級不安全的,但是我需要在服務器上設置它進行一些測試。試圖找到一個較舊版本的openSSH本身就是一項艱鉅的任務,但現在試圖設置它是不可能的。在服務器上設置SSHv1

我正在嘗試使用openSSH 2.1.1和openSSL 1.0.1。

從我可以告訴,OpenSSL的安裝正常,但是我運行中的問題在OpenSSH

我的配置(./configure --prefix=/usr --sysconfdir=/etc)工作正常,但我運行中的問題時,我嘗試make

的我得到的錯誤是:authfd.c:354:41: error: dereferencing pointer to incomplete type ‘RSA {aka struct rsa_st}’ buffer_put_int(&buffer, BN_num_bits(key->n));

我試過四處尋找,甚至已經開始尋找一些openSSL文件,我認爲一切都編碼正確。

我的猜測是,這些錯誤有事情做,試圖編譯的sslssh舊版本與最新版本的gcc

有沒有人成功地建立了一個服務器使用SSHv1的,或在至少對如何解決這個解引用錯誤有任何想法?

+0

不是'C'的問題,而是一個系統管理員/軟件包問題。 – KevinDTimm

+0

@MDXF - OP沒有代碼,他們已經下載了一個包並且無法安裝。 – KevinDTimm

+0

@KevinDTimm我真的可以訪問代碼,因爲我將它們下載爲TAR文件,但我真的不知道在這種情況下會有什麼相關的。 – Eabryt

回答

1

從您看到的錯誤看起來您使用的是OpenSSL 1.1.0,這使得RSA結構不透明,因此它不兼容。事情解決:

  • 下載年長的OpenSSL(1.0.2應該這樣做),並與--with-ssh1開關建立這一個
  • 配置,使SSH1支持
+0

我已經解決了我的錯誤,現在可以看到openssl版本,當我發出'/ usr/local/openssl/bin/openssl version'但是我仍然得到相同的'dereferencing指向不完整類型錯誤,當我嘗試'make' openSSH – Eabryt