发布于:,更新于:

Linux配置ssh使用公钥登录远程服务器

过程

安装openssh-server

sudo apt-get update
sudo apt-get install openssh-server

依次执行以上命令, 安装ssh服务, 通常情况下, 子系统下已经安装好了这个服务了, 那就可以忽略这一步.

生成公钥和密钥

使用当前用户执行

ssh-keygen

一直安回车,生成的公钥和密钥在用户文件夹下的 ~/.ssh.

cat ~/.ssh/id_rsa.pub

执行上面的命令, 将公钥的内容复制到粘贴板

在远程服务器上操作(远程服务器ssh服务装好的情况)

登录远程服务器执行:

vi ~/.ssh/authorized_keys

将粘贴板的内容复制到文件中,或者利用sftp工具, 将本地的id_rsa.pub上传到远程服务器,执行

cat id_rsa.pub >> ~/.ssh/authorized_keys

用vi打开/etc/ssh/sshd_config这个文件

将下面几行前面“#”注释取掉

RSAAuthentication yes 
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启ssh服务

service sshd restart

本地操作

在~/.ssh/中创建config文件

vi ~/.ssh/config

填入如下内容:

Host AAAAAA
HostName youipaddress
User root
Port 22
IdentityFile /home/yourusername/.ssh/id_rsa

其中

  1. Host 是别名
  2. HostName ip地址
  3. User 远程服务器的登录用户名
  4. Port 远程登录的ssh端口与
  5. IdentityFile 本地服务器的私钥地址

config配置

修改config文件的权限

chmod 700 ~/.ssh/config

使用

输入以下命令, 就可以直接连接远程服务器了, 其中AAAAAAconfig文件中指定的Host的值…

ssh AAAAAA

ssh连接