跳到主要内容

SSH免密登录Linux服务器

首先要安装 ssh

sudo apt-get install ssh

检查 ssh 的一些配置项

sudo gedit /etc/ssh/sshd_config

注意下面的配置项是否开启

PermitRootLogin yes
PubkeyAuthentication yes

重启 ssh 服务

sudo /etc/init.d/ssh restart
# 或者
sudo service ssh restart

生成秘钥

ssh-keygen -t rsa

将本机秘钥添加到远程客户端

ssh-copy-id user@127.0.0.1

也可以手动复制 id_rsa.pub 到远程客户端的 ~/.ssh/authorized_keys 里面

注意: 如果配置没问题,而且确认密钥已经加到了 authorized_keys 里面,但是仍然无法登录, 检查一下 ssh 文件夹权限,ssh 对文件权限要求非常严格

用户根目录必须为 755 或者 700 不能为 77X

sudo chmod 755 /root
sudo chmod 755 ~

.ssh 目录的权限必须是 700

sudo chmod 700 /root/.ssh
sudo chmod 700 ~/.ssh

authorized_keys 文件权限必须是 600

sudo chmod 600 /root/.ssh/authorized_keys
sudo chmod 600 ~/.ssh/authorized_keys