centos免密码登录SSH
ssh-******创建公钥-私钥对
ssh-****** -t rsa 然后一路回车,
ll ~/.ssh/
-rw-------. 1 root root id_rsa
-rw-r--r--. 1 root root id_rsa.pub
在home目录下创建了隐藏目录.ssh和私钥id_rsa和公钥id_rsa.pub文件
也可以增加一些定义来创建
ssh-****** -t rsa -f ~/.ssh/key-id_rsa -P 'passwd' -C 'zhangsan 2020-1-1'
-t: **类型, 可以选择 dsa | ecdsa | ed25519 | rsa
-f: 定义**目录位置/文件名, 默认为当前用户home下.ssh隐藏目录,默认**文件名以id_rsa开头。
-P -P '' 表示空密码,添加了密码,即使私钥被盗也无法使用,加了-P参数还免回车几次。
-C: 为此公钥添加指定注释, 如配置多个免密登录时, 公钥附带了注释就方便多了(于公钥**字符串后面)
配置**授权文件
将公钥放入指定目录文件authorized_keys中
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
调整文件夹和文件的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
1. 不要图省事设置成777权限,数字签名不支持这种权限策略。
2. .ssh目录和**文件拥有者必须为该被远程的用户/组。
ssh客户端使用私钥登录
centos 与centos之间的**登录
1. ssh-copy-id命令把本机A上的公钥文件安装应用到远程主机B对应账户下~/.ssh/authorized_keys(实际采用>>追加方式)
当然,你也可手动方式将ssh公钥应用到主机B的authorized_keys,但需加设置好.ssh目录的700和authorized_keys的600权限,
ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 [email protected]
2. 测试SSH免密码登录
ssh [email protected] ip a
3. 注意:
-----使用ssh-copy-id -i远程应用时,私钥和公钥必须在同一目录,并文件重命名仅仅区别后缀。
-----远程登录时实际会使用默认的~/.ssh/id_rsa 这私钥去登录主机B,权限必须是600;如私钥已经重命名或移动路径,需强制指定私钥文件去登录。
ssh -i /root/key-id_rsa [email protected]
-----如需互相登录,需双方都要存在该公钥的私钥文件。
-----centos 之间登录,并不支持带有-P**应用密码的。
-----ssh会把访问过产生host key记录到~/.ssh/known_hosts,每次连线时都会检查对方给的 host key 与纪录的 host key 是否相同,可以作为简单验证连结。如果不同,OpenSSH会发出警告。必要时手动删除或ssh-****** -R 192.168.66.101清理该主机记录
Putty使用**登录SSH
1. ssh-****** -t rsa方式生成的私钥,putty无法直接使用,需转换:
使用putty另一个组件公钥私钥生成工具puttygen.exe
运行puttygen.exe > Conversions >Import key导入证书> Save private key导出私钥,得到一个后缀名为.ppk的私钥保存为192.168.66.101_rsa.ppk
2. 设置putty通过秘钥登录
运行putty.exe在登录会话先输入远程主机ip地址端口等,
再点击选择私钥
Connection > SSH > Auth > Browse选择私钥文件 >
点击open登录,然后要求填写对应的账户名即可,如登录失败,在远程主机查看日志,tail /var/log/secure
SecureCRT使用**登录SSH
1. ssh-****** -t rsa方式生成的私钥,SecureCRT也是无法直接使用,需转换:
工具 > 转换私钥为0penSSH格式 > 选择下载的私钥192.168.66.101_rsa然后保存转换后的私钥和公钥。
2. 设置SecureCRT通过秘钥登录
在创建连接时,取消“密码”的勾,选中“公钥”再点击属性。
选择“使用会话公钥设置”再浏览选择私钥文件
点击连接即可
puttygen和SecureCRT也可以创建公钥私钥
1. puttygen创建公钥私钥,并部署
1.1 运行puttygen.exe > Generate 创建
(鼠标在空白区域晃动增加随机性,否则进度不动)
生成完毕后,可选给私钥设置密码,复制公钥字符串到主机authorized_keys文件中,私钥必须保存下来;
1.2 登录linux在账户家目录创建权限为700的.ssh和权限为600的authorized_keys,
mkdir ~/.ssh/
chmod 700 ~/.ssh/
vi ~/.ssh/authorized_keys (将生成的公钥字符串复制到authorized_keys文件中)
chmod 600 ~/.ssh/authorized_keys
以上部署完毕,保存的私钥可直接使用putty登录了,
(如登录失败查看日志/var/log/secure,如提示文件权限,那就删除.ssh目录,先ssh-******方式创建目录,再将puttygen的公钥字符编辑到authorized_keys)
2. SecureCRT创建公钥私钥
2.1 运行SecureCRT,工具 > 创建公钥 > 选择密码类型RSA > 通行短语=密码可选输入>选择“openSSH**格式”保存,
部署方式按以上putty的即可。
puttygen和SecureCRT的私钥互转
puttygen和SecureCRT各自创建私钥不能直接互用,需转换,
putty使用SecureCRT的,只是按上面转换ssh-******私钥方式即可。
SecureCRT使用putty的,
运行puttygen.exe > Conversions > Import key导入证书 > 导出私钥“Export OpenSSH key”
禁止口令验证,改用只能通过**登录
vi /etc/ssh/sshd_config 找到PasswordAuthentication 改为 no
PasswordAuthentication no
重启sshd服务
service sshd restart