SSH简介
-
SSH:远程连接工具,进程名是sshd,端口为22。
-
概述:A机器安装ssh服务端,B机器安装ssh客户端,B机器可以通过ssh远程访问A机器操作A机器。
-
客户端:
openssh-client # 用来访问其他机器 安装命令:apt-get install openssh-client
-
服务端:
openssh-server # 用来开放SSH服务 安装命令:apt-get install openssh-server
安装使用
-
安装服务端:apt-get install openssh-server
-
查看服务状态
service sshd start # 启动ssh服务 service sshd stop # 停止ssh服务 service sshd restart # 重启服务 service sshd status # 查看服务状态
-
运行状态:
-
在ssh客户端远程登录服务端机器:
-
ssh 用户名@服务端ip
配置文件
- 如果需要特殊方式登录需要在配置文件里修改
- vim /etc/ssh/sshd_config
-
PermitRootLogin yes # 启用root登录 PubkeyAuthentication yes # 启用公钥认证 RSAAuthentication yes # 启用密钥认证 PasswordAuthentication yes # 开启密码认证,否则无法使用密码登录 遇到再添加...
免密登录
-
实现方案 :在客户端生成密钥文件,将公钥上传到服务器,客户端携带私钥访问服务器。
-
ssh-keygen # 在客户端生成密钥
-
执行后可以输入密码做验证,也可以一直回车为空。
-
执行后会在 ~/.ssh/ 文件下生成密钥文件
-
id_rsa # 私钥 id_rsa.pub # 公钥
-
将公钥上传到服务器,即可免密登录。
ssh-copy-id -i ~/.ssh/id_rsa.pub 用户@ip
密钥登录
- 实现方案:在服务器制作密钥,安装公钥将私钥发送客户端,客户端携带私钥访问服务器。
- 制作密钥:ssh-keygen
- 密钥所在位置:~/.ssh,在服务器上安装公钥,并设置文件权限。
- 安装公钥 :cat id_rsa.pub >> authorized_keys
- 设置权限:
chmod 600 authorized_keys
chmod 700 ~/.ssh
- 设置配置文件允许密钥登录。
- 重启SSH服务。
- 这里使用Finallshell连接,需要pem格式证书,制作如下:
-
转换PEM格式私钥 # ssh-keygen -p -m PEM -f 私钥路径 生成PEM格式私钥 # ssh-keygen -m PEM -t rsa
- 配置ssh连接
- 连接成功:
卸载SSH
- 停掉SSH服务:sudo stop ssh
- 卸载openssh-server:apt-get remove openssh-server
- 卸载openssh-client: apt-get remove openssh-client