一,秘钥生成传送
ssh-keygen 选项:
-b:指定密钥长度;
-e:读取openssh的私钥或者公钥文件;
-C:添加注释;
-f:指定用来保存密钥的文件名;
-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;
-l:显示公钥文件的指纹数据;
-N:提供一个新密语;
-P:提供(旧)密语;
-q:静默模式;
-t:指定要创建的密钥类型。
#生成
ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
#复制到远程主机
ssh-copy-id -i ~/.ssh/id_rsa.pub sati2@192.168.8.174
#测试远程主机是否开启PubkeyAuthentication
grep PubkeyAuthentication /etc/ssh/sshd_config
#设置目录权限
chmod 700 .ssh
chmod 600 authorized_keys
#####
##问题
每次输入ssh命令后,虽然可以连接上目标服务器,但是往往要等待很久,这是因为ssh默认开启了地址反解析
将每个linux上/etc/ssh/sshd_config文件中修改或加入UseDNS=no,在server上/etc/ssh/sshd_config文件中修改GSSAPIAuthentication no
重启服务
PasswordAuthentication yes/on ----------------------> 开启或者关闭密码连接
PermitRootLogin yes/no ----------------------------->允许超级用户登录
AllowUsers student----------------------------->只允许登录的用户
DenyUsers student-------------------------->不允许登录的用户
报错:
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!Someone could be eavesdropping on you right now (man-in-the-middle attack)!It is also possible that the RSA host key has just been changed.The fingerprint for the RSA key sent by the remote host is36:68:a6:e6:43:34:6b:82:d7:f4:df:1f:c2:e7:37:cc.Please contact your system administrator.Add correct host key in /u/xlian008/.ssh/known_hosts to get rid of this message.Offending key in /u/xlian008/.ssh/known_hosts:2RSA host key for 135.1.35.130 has changed and you have requested strict checking.Host key verification failed.
原因:
ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts。当下次访问相同计算机时,OpenSSH会核对公钥。如果公钥不同,OpenSSH会发出警告,避免你受到DNS Hijack之类的***。
处理1:
删除~/.ssh/known_hosts 内相关IP的rsa信息
处理2:
使用命令清除所连接的IP
ssh-keygen -R XX.XX.XX.XX
其中,XX.XX.XX.XX为之前连接时的网段IP
重新连接