我正在尝试建立开放SSH7.9p1 来自源代码,但我找不到删除(或不包含)的方法,例如,ssh-agent
、ssh-keygen
、scp
、sftp
、等 - 当然,假设命令工作sshd
不需要这些。ssh
理想情况下,我只需要客户端:命令ssh
,但同样,我不确定还需要什么其他部分。我认为大部分构建/安装的内容都是由服务器使用的,而不是由客户端使用的。
答案1
是的,您可以使用提供的默认构建系统来执行此操作。
如果您查看Makefile
通过运行提供的脚本生成的目标./configure
,您应该看到默认(第一个)目标是
TARGETS=ssh$(EXEEXT) sshd$(EXEEXT) ssh-add$(EXEEXT) ssh-keygen$(EXEEXT) ssh-keyscan${EXEEXT} ssh-keysign${EXEEXT} ssh-pkcs11-helper$(EXEEXT) ssh-agent$(EXEEXT) scp$(EXEEXT) sftp-server$(EXEEXT) sftp$(EXEEXT)
(对于类 Unix 系统,$(EXEEXT)
应该为空)。每个都有自己单独的构建目标/规则,例如您可以这样做:
make ssh
只做客户。
前任。
$ make ssh
<snip>
$ find . -type f -executable -newermt yesterday
./config.status
./ssh
$ ./ssh -V
OpenSSH_7.9p1, OpenSSL 1.1.0g 2 Nov 2017