昨天测试MobaXterm经过秘钥登陆SSH
node
看了一些网上的文章,发现几个问题:bash
1. .ssh/authorized_keys 这是默认在服务端存放公钥的文件,有些博客里把keys写成了key,漏了s,我不知道怎么实验成功的,可能他在配置文件里改了ssh
2. MobaXterm使用Putty的秘钥生成工具,若是直接复制公钥粘贴是有效的,若是保存公钥再上传是无效的,缘由是OpenSSH不支持Putty那种多行的公钥文件格式,必须是单行的ide
3. 有些文章说目录.ssh的权限必须是700,authorized_keys文件的权限必须是600,但我测试这不是必须的,至少CentOS7 默认配置下,root和非root帐号不是必须工具
[root@node1 ~]# ll -d .ssh drwxr-xr-x 2 root root 29 12月 31 16:14 .ssh [root@node1 ~]# ll .ssh -rw-r--r-- 1 root root 398 12月 31 16:15 authorized_keys
4. 有些文章说 RSAAuthentication yes ,PermitRootLogin yes 这两个参数必须打开,但我测试不须要,root能够免密码登陆
测试
下面是个人配置文件server
HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key SyslogFacility AUTHPRIV PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials no UsePAM yes X11Forwarding yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE AcceptEnv XMODIFIERS Subsystem sftp /usr/libexec/openssh/sftp-server