我在 Amazon EC2 服务器上运行 ubuntu - 我需要锁定 ssh 密码以符合 pci 规范。我尝试编辑 /etc/ssh/sshd_config,内容如下:
Ciphers aes256-ctr,aes192-ctr,aes128-ctr
KexAlgorithms diffie-hellman-group-exchange-sha256
MACs hmac-sha2-512,hmac-sha2-256,hmac-ripemd160
并重新启动服务器。但是,此命令:
ssh -Q cipher localhost
仍然列出了我不再需要的所有密码。我是否遗漏了一些配置?
ssh version is OpenSSH_6.6.1p1 Ubuntu-2ubuntu2, OpenSSL 1.0.1f 6 Jan 2014
Linux is: Linux ip-172-31-34-22 3.13.0-36-generic #63-Ubuntu SMP Wed Sep 3 21:30:07 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
谢谢您的任何建议。
答案1
ssh -Q cipher
报告 ssh 客户端而不是服务器支持的密码。
验证您是否已成功foo
从服务器配置中删除密码的一种方法是将其明确用于您的连接:
ssh -oCiphers=foo localhost
相关摘录自ssh.c
选项处理:
case 'Q':
cp = NULL;
if (strcmp(optarg, "cipher") == 0)
cp = cipher_alg_list('\n', 0);
/* deleted other options... */
if (cp == NULL)
fatal("Unsupported query \"%s\"", optarg);
printf("%s\n", cp);
free(cp);
exit(0);
break;