日常的开发或者维护过程中,服务端的同学经常需要用公共账号登陆其他机器进行操作,或者是因为一些原因需要从另外一个机器下载或者上传文件,这个时候就需要将自己的账号在需要访问的机器上加上授权认证的信息,以保证能够免密码登陆该机器。
具体操作流程如下:
如果想要从A机免密登陆B机
首先在A机操作如下:
[pengzecheng@safedev01v ~]$ cd .ssh/
[pengzecheng@safedev01v ~/.ssh]$ ssh-keygen //生成ssh密钥 id_rsa是私钥 id_rsa.pub公钥 给B机使用
[pengzecheng@safedev01v ~/.ssh]$ ll
total 8
-rw------- 1 pengzecheng pengzecheng 1675 Aug 16 11:48 id_rsa
-rw-r--r-- 1 pengzecheng pengzecheng 423 Aug 16 11:48 id_rsa.pub
[pengzecheng@safedev01v ~/.ssh]$ scp id_rsa.pub 10.143.180.171:/home/pengzecheng/.ssh/ //将公钥传给B机
//远程登陆b机
[pengzecheng@safedev01v ~/.ssh]$ ssh 10.143.180.171
[pengzecheng@k8315v ~]$ cd .ssh/
[pengzecheng@k8315v ~/.ssh]$ cat id_rsa.pub >> authorized_keys
[pengzecheng@k8315v ~/.ssh]$ chmod 600 authorized_keys
[pengzecheng@k8315v ~/.ssh]$ exit
//重新登陆b机即可免密
[pengzecheng@safedev01v ~/.ssh]$ ssh 10.143.180.171
PS:如果有同学发现这种情况下还是不能无密码登陆,那么多半是目录权限的原因。可以检查一下B机的authorized_keys文件以及包含它的目录的权限,一般来说是不可以超过600的,权限过大系统会认为这是不安全的,不允许免密登陆