linux下ssh通过公钥登录服务器

Posted 曲径通幽处

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux下ssh通过公钥登录服务器相关的知识,希望对你有一定的参考价值。

经常会通过ssh登录远程服务器,一种是通过密码方式登录,一种是通过公钥登录。

如何设置通过公钥登录服务器

1. 先生成公钥和私钥

ssh-keygen 命令用来生成公钥和私钥
    -t 用来指定密钥类型(dsa | ecdsa | ed25519 | rsa | rsa1)
    -p 用来指定密码短语
    -C 用来添加注释

比如
ssh-keygen -t rsa -C "mykey"

 

 

此时,会在存放ssh秘钥的地方生成两个文件(不同系统,存放秘钥的地方不同),“.pub”结尾的是公钥,另一个是私钥

2. 第二步,将公钥部署到服务器

公钥需要写入到服务的  ~/.ssh/authorized_key文件中,这里我通过sftp将公钥上传到服务器,然后将文件内容写入到  ~/.ssh/authorized_key文件中

上传公钥到服务器
sftp [email protected] -p 22

put  mykey.pub 

将文件写入authorized_keys中
cat mykey.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys

 

3. 设置服务器ssh的可以通过公钥登录

打开/etc/sshd_config文件,修改如下配置

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile  .ssh/authorized_keys

 

4. 重启ssh服务,就可以通过公钥登录了

 

以上是关于linux下ssh通过公钥登录服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux使用ssh公钥实现免密码登录Linux

Linux使用ssh公钥实现免密码登录Linux

Linux使用ssh公钥实现免密码登录Linux

Linux ssh下实现免密码登录

Windows下通过SSH无密码连接Linux服务器

linux公钥登录远程服务器