一、SSH简介
SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA、DSA等。
1、RSA:一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才能解密。RSA的安全性基于大数分解极其困难(将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥);
2、DSA:也是非对称加密算法,其安全性与RSA相比差不多,是基于整数有限域离散对数难题的;
二、SSH免密登陆原理
SSH免密登陆原理三、SSH免密登陆
1、生成秘钥
在mac根目录(/Users/qianxuemin)下执行命令,提示输入的话直接回车,不输入任何内容
ssh-keygen -t rsa -C "test_user" -f "test_key"
//生成密钥 使用rsa加密算法 用户名字 密钥对文件名
回车后会生成两个文件
test_key //私钥
test_key.pub //公钥
把生成的两个文件放到隐藏目录(/Users/qianxuemin/.ssh)下
ll -a // 以长文件名显示文件列表
cd .ssh/
ll
mv test_key* .ssh/ //把生成的两个文件放到 .ssh文件夹
// 若无权限,修改.ssh权限 chmod -R 700 .ssh 私钥权限为当前用户可读可写,不给其他权限
2、传输公钥
把公钥复制到需要远程登录的一台服务器
scp ./test_key.pub root@192.168.0.2:/root/.ssh
3、追加公钥
登录远程服务器,在远程服务器的.ssh目录下执行追加公钥
ssh root@192.168.0.2 //远程登录 输密码
cat test_key.pub >> authorized_keys // 在.ssh目录下执行
exit //退出远程
4、开始免密登录
ssh -i ~/.ssh/test_key root@192.168.0.2
5、修改config
如果不想用文件路径登陆
在本机的.ssh目录下新建config文件 并修改配置文件config
User root //以什么用户登录
Host qxmcentos //要登录的服务器别名
HostName 192.168.0.2 //要登录的服务器ip或域名
Port 22 //要登录的服务器的端口 默认22
StrictHostKeyChecking no //热键检查
IdentityFile ~/.ssh/test_key //私钥完整路径
IdentitiesOnly yes //只允许秘钥登录
Protocol 2 //SSH版本
Compression yes
ServerAliveInterval 60
ServerAliveCountMax 20
LogLevel INFO
6、免密登陆
用远程服务器别名免密登陆
ssh qxmcentos // qxmcentos为远程服务器别名
7、注意事项
.ssh目录的权限必须是700
.ssh/authorized_keys文件权限必须是600
权限列表
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
普通文件的文件权限第一个字符为“-”
目录文件的文件权限第一个字符为“d”
字符设备文件的文件权限第一个字符为“c”;
块设备文件的文件权限第一个字符为“b”
符号链接文件的文件权限第一个字符为“s”
网友评论