SSH 密码登录服务器
在服务器创建证书命令:
ssh-keygen -t rsa -C "证书名称"
一般的情况下是不需要加后面的 -C 。但是我的服务器上已经创建了git的证书,为了不跟他冲突,我再创建了一个
接下来会提示你输入证书保存路径,如下:
Generating public/private rsa key pair.
Enter file in which to save the key (/home/**/.ssh/id_rsa):
在后面请输入: /home/**/.ssh/证书名称
后面提示输入内容时,直接回车就行。
在.ssh目录下创建authorized_keys文件
mv /home/**/.ssh/证书名称.pub authorized_keys
注意查看authorized_keys的权限,他的权限一定600
拷贝文件/home/**/.ssh/证书名称 里面的内容到本地。
编辑如下文件/etc/ssh/sshd_config
找到以下内容,并去掉注释符"#"
RSAAuthentication yes
PubkeyAuthentication yes
测试连接:
ssh -vvv -i ~/.ssh/本地证书名称 user@ip
'-vvv ' 为了debug用,如果测试没有问题的情况下,建议不用加。因为输出的log太烦人了
我在创建的过程中,还遇到了一个问题。 在操作过程中,我把 /home/** 这个目录的权限改成了 0750. 导致不能正常访问,提示错误为 Permission denied (publickey).。