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 root@yourhost -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服务,就可以通过公钥登录了

猜你喜欢

转载自www.cnblogs.com/time-read/p/9642324.html