使用密钥进行ssh远程登录

一般系统验证用户身份,我们都是用的密码的方式。

其实还可以通过密钥的方式,进行用户身份验证。

参考这里:https://blog.csdn.net/yezhouyong/article/details/78315881

 

ssh-keygen命令专门是用来生成密钥的。该命令有很多选项,这里列出了最基本的四个:

  • -t 用来指定密钥类型(dsa | ecdsa | ed25519 | rsa | rsa1);

  • -P 用来指定密语

  • -f 用来指定生成的密钥文件名

  • -C 用来添加注释

ssh-keygen -t rsa -P 123456 -f host -C 'my host key'意思就是新建了密语为123456注释为my host key文件名为host的密钥。此命令会生成hosthost.pub两个文件,前者为私钥文件,后者为公钥文件。如果你想免密登录的话,请将密语设置为空。

比如我在 69 服务器上 想远程连接 76服务器,则需要在69上执行生成秘钥对的操作。

把生成的密钥对中的公钥,复制到76上,把公钥拼接到76的authorized_keys

注意:如果没有authorized_keys,则自己使用touch命令建一个。

#在本机上执行此命令,上传公钥 scp -P your_port host.pub user@hostname:/tmp #在服务器上执行此命令,追加到authorized_keys cd /tmp && cat host.pub >> ~/.ssh/authorized_keys #更改权限 chmod 600 ~/.ssh/authorized_keys

 

然后去76上,打开/etc/ssh/sshd_config

设置成:

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

 

返回到69,

etl@lenovo-FFFFFFFFFF:~/.ssh$ ls

known_hosts

etl@lenovo-FFFFFFFFFF:~/.ssh$ cd ..

etl@lenovo-FFFFFFFFFF:~$ ssh -i ./76server  lenovo@192.168.8.76

Enter passphrase for key './76server': 

Welcome to Ubuntu 14.04.5 LTS (GNU/Linux 4.2.0-42-generic x86_64)

 

 * Documentation:  https://help.ubuntu.com/

 

369 packages can be updated.

303 updates are security updates.

 

New release '16.04.5 LTS' available.

Run 'do-release-upgrade' to upgrade to it.

 

 

WARNING: Security updates for your current Hardware Enablement Stack

ended on 2016-08-04:

 * http://wiki.ubuntu.com/1404_HWE_EOL

 

There is a graphics stack installed on this system. An upgrade to a

configuration supported for the full lifetime of the LTS will become

available on 2016-07-21 and can be installed by running 'update-manager'

in the Dash.

    

Last login: Thu Oct 11 13:49:57 2018 from 192.168.8.148

lenovo@lenovo-70FR0028CN:~$

 

如果想登录时必须同时有密码和私钥,则按照如下操作:

让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:

vim /etc/ssh/sshd_config

PasswordAuthentication 改为yes

然后再加一条:AuthenticationMethods publickey,password

重启SSH服务:/etc/init.d/sshd restart 或者 service ssh restart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值