Ubuntu ssh秘钥生成

一,秘钥生成传送

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

重新连接

expect 自动输入秘钥传输