公私钥生成 + 免密连接服务器

参考文章
https://blog.csdn.net/qq_41554005/article/details/103103443

免密连接服务器的步骤一般如下:
1、cd ~/.ssh/进入ssh所在目录
2、ssh-keygen -t rsa 生成公私钥,一路回车
3、将公钥拷贝到服务器上,并将其追加到服务器上./.ssh/authorized_keys
4、更改服务器上的.ssh权限

chmod 700 ~/.ssh/
chmod 600 ~/.ssh/authorized_keys

5、在本地.ssh/config文件中加入

Host haoJiDeMingZi 								# sui bian qu
    HostName 111.111.1.1 		 				#(IP)
    User usrname                	  			# username
    IdentityFile /Users/ohanlon/.ssh/id_rsa		# si yao di zhi

6、在终端输入

ssh somebody@ip
# eg:
ssh [email protected]

即可免密连接!


按照上面的操作没有成功的原因可能是:在文件 /etc/ssh/sshd_config 中,允许密钥认证被关闭了,可以

sudo vi /etc/ssh/sshd_config

确保此文件中

RSAAuthentication yes
PubkeyAuthentication yes
PasswordAuthentication no		# 这行是禁用密码的,可以不设置

修改之后需要重启 SSH 服务以使更改生效

sudo service ssh restart

如果你是 root 但是改变不了 sshd_config,可以按下面的操作:

lsattr sshd_config		# 查看文件的属性

可能文件属性中有ia,或者有其中的一个,使用

chattr -ia sshd_config

去掉这一属性即可。当然使用 chattr +ia filename 也可以恢复其ia属性。

ps: chmod 实际上是用更底层的chattr实现的


一些不确定的问题:

  • 一对公私钥好像可以用在多个服务器中,就是同样的公钥可以放在多个服务器的authorized_keys
  • 公私钥的名字好像不能随便取?

你可能感兴趣的:(Linux,实用,ssh,linux,centos)