z/OS系统OMVS环境下authorized_keys配置失败求助
已执行操作回顾
- 通过SFTP连接z/OS,执行
ls /+mode=text - 进入.ssh目录,上传id_rsa.pub并重命名为authorized_keys
- 尝试修改文件权限为
644、600 - 将文件编码标记为IBM-1047
- 测试ssh登录仍需输入密码
针对性排查与修复步骤
1. 检查.ssh目录权限
z/OS OMVS对ssh相关目录权限要求严格,.ssh目录必须设置为700(仅所有者可读可写可执行),否则sshd会忽略该目录下的authorized_keys文件。执行命令:
chmod 700 ~/.ssh
2. 验证authorized_keys的记录格式
z/OS文本文件默认带记录长度标记,若公钥记录被截断或格式异常,sshd无法识别。用以下命令查看文件记录格式:
ls -l ~/.ssh/authorized_keys /+recfm
确保文件为VB(可变块)或FB(固定块)格式,且记录长度足够容纳完整公钥行(通常700-800字符)。若长度不足,SFTP上传时指定参数:
put -O "recfm=VB lrecl=1024" id_rsa.pub authorized_keys
3. 确认文件TAG属性
除编码标记外,需确保TAG属性设置正确,避免字符集转换异常:
chtag -t -c IBM-1047 ~/.ssh/authorized_keys
执行ls -T ~/.ssh/authorized_keys确认输出为T=on IBM-1047。
4. 查看sshd日志定位问题
z/OS的sshd日志默认存于/var/log/sshd.log,过滤公钥认证相关日志:
grep "publickey" /var/log/sshd.log
日志会明确提示权限问题、文件格式错误或公钥不匹配等具体原因,比如Authentication refused: bad ownership or modes for file直接指向权限不符合要求。
5. 检查用户HOME目录权限
HOME目录权限不能过于开放,需确保其他用户无写入权限,建议设置为:
chmod 755 $HOME
6. 二进制模式重新上传公钥
SFTP文本模式可能因z/OS与Unix文本格式差异导致公钥行异常,尝试二进制模式上传:
put -B id_rsa.pub authorized_keys
上传后再设置编码和TAG属性。
内容的提问来源于stack exchange,提问作者Lionel B Dyck
相关产品推荐
相关产品推荐

