+ -
当前位置:首页 → 问答吧 → 请问大家装gcc-4.2.x并且装openssh-4.6p1的有没有这个问题

请问大家装gcc-4.2.x并且装openssh-4.6p1的有没有这个问题

时间:2007-09-29

来源:互联网

开机或者第一次启动sshd服务的时候显示
代码:
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_das_key
用ssh-keygen手动生成key,ssh-keygen -N "" -t rsa -b 1024 -f /tmp/1,返回提示
代码:
Generating public/private rsa key pair.
Illegal instruction
我google了一下,在LFS的邮件列表里发现了一个哥们也碰到我这个问题
http://linuxfromscratch.org/pipermai...st/063396.html
引用:
Am Sonntag 05 August 2007 21:39:55 schrieb Jason Johnson:
> I am trying to install openssh-4.6p1 on my new x86 build. Everything
> compiles fine and even install fine. I used he standard configuration in
> the book BLFS. However during the install when openssh tries to generate
> the ssh_host_rsa_key and ssh_host_dsa_key key it fails. I have read reports
> on the net that I should be able to generate these keys yourself . However
> ever attempt to generate rsa and dsa keys have failed. If anyone can help
> me out it would be greatly appreciated.
>
> mkdir /etc/ssh
> Generating public/private rsa1 key pair.
> Your identification has been saved in /etc/ssh/ssh_host_key.
> Your public key has been saved in /etc/ssh/ssh_host_key.pub.
> The key fingerprint is:
> 58:01:07:b8:b8:e4:9c:85:e8:a0:e3:9c:20:26:eb:ca root at Achilles
> Generating public/private dsa key pair.
> /bin/sh: line 16: 5010 Illegal instruction ./ssh-keygen -t dsa -f
> /etc/ssh/ssh_host_dsa_key -N ""
> Generating public/private rsa key pair.
> /bin/sh: line 16: 5011 Illegal instruction ./ssh-keygen -t rsa -f

I have also come across this stuff. See below.
> /etc/ssh/ssh_host_rsa_key -N ""
> make: *** [host-key] Error 132
>
> root at Achilles:/etc/ssh# ssh-keygen -t dsa
> Generating public/private dsa key pair.
> Enter file in which to save the key (/root/.ssh/id_dsa): ssh_host_dsa_key
> ssh_host_dsa_key already exists.
> Overwrite (y/n)? y
> Enter passphrase (empty for no passphrase):
> Enter same passphrase again:

Did you install gcc-4.2.x when building LFS? Then you should try to run the
openssl testsuite -- there will be much more of those:
> Illegal instruction
(Otherwise nevermind :-)

The reason is that in openssl they have done some debatable things with
casting function arguments (try googling the openssl-dev mailing list for
gcc-4.2 openssl illegal instruction). Since the gcc mintainers don't like
that the gcc-4.2.x position on this debate is inserting illegal instructions
into the generated code. On purpose. Kind of making it fail fast.

Somewhere on the openssl-dev mailing list there is a patch (by Peter Hartley
IIRC) floating around which changes some of the openssl header files. It
doesn't apply cleanly so you'll have to do some of it by hand.

After applying the patch you can compile (and test) openssl. Since the headers
don't seem to be source compatible with the unchanged ones anymore you'll
have to replace them with the latter ones _before_ installing openssl.

Then you can redo openssh (you did link openssl statically didn't you?) and
maybe other openssl-dependent stuff.

This procedure is really a bit hacky - but with gcc-4.2.x (and maybe
glibc-2.6.x? I've done that ;-) just another adventure.

I just read the changelog of an upcoming 0.9.9 release on the http://www.openssl.org
news section. They mention that openssl will then compile cleanly with
gcc-4.2.x. But there are no files so far.

Good luck
Andreas Leuner
是不是因为gcc-4.2.x的版本的关系,还有文中提到的patch哪里有下,有没有用?

目前只能用RSA1,sshd也能用,就是这rsa和dsa的key都生成不了。

作者: shooter   发布时间: 2007-09-29

没有这个问题。这个 key ,我还不会用试一下啦:

代码:
bash-3.2# ssh-keygen -N "" -t rsa -b 1024 -f /tmp/1
Generating public/private rsa key pair.
Your identification has been saved in /tmp/1.
Your public key has been saved in /tmp/1.pub.
The key fingerprint is:
5e:ff:d5:3e:c4:69:09:7e:84:e4:61:aa:67:10:07:3a root@CLFS

作者: tfkdmwmqtr   发布时间: 2007-09-29

看 CBLFS 手册吧,这里打过补丁的。请记住这个地址:
cblfs.cross-lfs.org

作者: tfkdmwmqtr   发布时间: 2007-09-29

热门下载

更多