SSH免密码登录远程服务器

发布:elantion 日期:2018-07-11 阅读:1585 评论:0

ssh登录linux服务器,除了用密码,还可以用rsa密钥,只要简单地把密钥写到~/.ssh/authorized_keys就可以,不仅安全系数比使用密码更好,而且不用记密码。下面简单地说说流程。

一、生成公钥和私钥

公钥和私钥是用来加密传输的,公钥写到远程服务器~/.ssh/authorized_keys,私钥放到自已的电脑上。生成过程很简单,使用ssh-keygen命令就可以在~/.ssh/目录下生成,私钥在~/.ssh/id_rsa,公钥在~/.ssh/id_rsa.pub

二、上传公钥到服务器

连接到服务器之后用vi写到~/.ssh/authorized_keys里即可,但注意权限,~/.ssh/authorized_keys是600,权限设置命令是 sudo chmod 600 ~/.ssh/authorized_keys。如果嫌麻烦,可以使用ssh-copy-id命令上传并自动设置权限,例如:ssh-copy-id root@xxx.xxx.xxx.xxx,输入密码后即可。

三、开启免密登录

有些服务器并不自动开启自动登录,所以需要手动开启。如果使用ssh-copy-id,一般会自动开启。
修改/etc/ssh/sshd_config,把下面几行注释去掉。

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启ssh服务:

// ubuntu系统
service ssh restart

// centos
service sshd restart

// debian系统
/etc/init.d/ssh restart

好了,到此应该就可以了,有什么问题就给我留言吧。