首页 > 代码库 > ubuntu ssh
ubuntu ssh
客户端
Client端生成公钥和密钥
我们使用RSA密钥认证的目的是:从Client端登陆Server端时,不需要密码认证。
所以,我们在进行认证时首先需要在Client端建立属于Client端自己的一对密钥(公钥和私钥),建立方法如下:
在命令行下执行:ssh-keygen
执行过程中,它先要求你确认保存公钥的位置(默认为:.ssh/id_rsa),
然后它会让你重复输入一个密码两次,如果不想在使用公钥的时候输入密码,可以留空
执行完毕后,就会生成数据Client端的一对密钥。
执行过程如下图:
SSH 密钥默认储存在账户的家目录下的 ~/.ssh 目录中
关键是看有没有用 xxx_rsa 和 xxx_rsa.pub 来命名的一对文件,有 .pub 后缀的文件就是公钥,另一个文件则是密钥。
生成的一对公私钥,顾名思义:
公钥是公开的,不需要保密,而私钥是由个人自己持有,并且必须妥善保管和注意保密。
生成的密钥截图如下:
服务端:
通过腾讯后台把公钥加进去。会出现~/.ssh/authorized_keys 通过sudo ls -all查看隐藏的文件。
/etc/ssh/sshd.config
PermitRootLogin no # 是否允许 root 登入!预设是允许的,但是建议设定成 no!
PubkeyAuthentication yes # 是否允许 Public Key ?当然允许啦!只有 version 2
AuthorizedKeysFile .ssh/authorized_keys
# 上面这个在设定若要使用不需要密码登入的账号时,那么那个
# 账号的存放档案所在档名!
PasswordAuthentication yes # 密码验证当然是需要的!所以这里写 yes 啰!
PermitEmptyPasswords no # 若上面那一项如果设定为 yes 的话,这一项就最好设定
# 为 no ,这个项目在是否允许以空的密码登入!当然不许
StrictModes=no 如果是yes就是对文件权限等等严格检查。
ubuntu ssh