SSH不输入密码连接远程Linux主机

1.打开终端,使用ssh-keygen命令生成id_rsa(私钥)和id_rsa.pub(公钥)。

ssh-keygen -t rsa

如图所示,一路回车即可。
ssh-keygen
id_rsa(私钥)和id_rsa.pub(公钥)默认生成在~/.ssh/目录下。

2.将公钥添加到远程服务器的 authorized_keys 文件中。
复制公钥到远程服务器上:

scp ~/.ssh/id_rsa.pub username@hostname:~/.ssh/

SSH到登陆到远程主机,将公钥追加到authorized_keys文件中:

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

修改authorized_keys权限,否则可能会报”Bad owner or permissions”的错误:

chmod 600 authorized_keys

3.在本地主机配置ssh config文件。

vi ~/.ssh/config

在config文件中添加如下内容:

Host hpc(定义远程服务器的简称,以后连接远程服务器可以使用ssh hpc。)
  User chenwen(填远程服务器的用户名)
  HostName hpc.xtbg.ac.cn(远程服务器的地址,可以是域名)
  Port 22(远程服务器的端口)
  IdentityFile ~/.ssh/id_rsa(本地私钥文件)

4.大功告成
可以使用ssh hpc直接登录远程服务器了,不用输入一长串的参数和密码。

参考于网上,做为自己的笔记吧。