一、SSH客户端Setting 配置 key , 创建生成公钥导出文件。
二、服务器 master 上生成密钥
通过执行命令 ssh-keygen -t rsa 来生成我们需要的密钥。
ssh-keygen -t rsa
执行上面的命令时,我们直接按三次回车,之后会在用户的根目录下生成一个 3个 的文件夹。 cd .ssh查看改目录。
authorized_keys
id_rsa
id_rsa.pub
known_hosts
cd .ssh
三、远程密钥登录
这里介绍最常用的三种方式,一是通过 ssh-copy-id 命令,二是通过 scp 命令,三是手工复制。
方式一,通过 ssh-copy-id 命令设置。最后一个参数是我们要免密钥登录的服务器 ip 地址。
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.1.100
方式二,通过 scp 命令直接将该文件远程复制过去,使用这种方式需要注意,如果你之前已经配置了其它服务器上的密钥,这是使用这种方法,就会覆盖掉你原来的密钥,这时候是不建议使用这种方式的,如果你是先将该文件复制到服务器上的一个目录下,然后在使用追加的方式,将密钥追加到 authorized_keys 也是完全 OK 的。如果你只有两台服务器也是可以直接复制到文件。
scp -p ~/.ssh/id_rsa.pub root@<ip>:/root/.ssh/authorized_keys
方法三、把SSH生成的公钥上传至服务器/root/xx.pub
把这个pub文件拷贝到.ssh/
cp pub.pub .ssh/
cd .ssh
ssh-keygen -i -f pub.pub>>1.txt
cat 1,txt
拷贝改文件下的内容贴到 authorized_keys里
四、将SSH客户端生成的私钥,秘钥内容放至 /.ssh 目录下 authorized_keys
cd .ssh
vi authorized_keys
按Shit+G跳转至最后一行, ssh-dss + 复制密钥内容shit + insert
按Esa 退出编辑
:wq保存
五、SSH输入服务器地址,用户名root ,点击确认,自动实现免密登录。
六、实现原理
1、ssh 客户端向 ssh 服务器端发送连接请求
2、ssh 服务器端发送一个随机的信息
3、ssh 客户端使用本地的私钥对服务器端发送过来的信息进行加密
4、ssh 客户端向服务器端发送加密过后的信息
5、ssh 服务器端使用公钥对该信息进行解密
6、若解密之后的信息和之前发送的信息匹配,则信任客户端,否则不信任。
七、Linux常用指令
kill -9 xx 结束服务进程
mkdir xx 新建文件夹
rf -rn xx.log 删除文件
ll 查看目录
ps -ef | grep java 查看服务端口号
tail -f 1000 xx.log 动态查看日志文件
cat xx.log 查看日志
cat server.log | grep "xx" 关键字模糊查询日志
curl -v "http://www.baidu.com" 显示get请求全过程解析
wget "http://www.baidu.com" 发送get请求