-
查看是否已安装:
-
CentOS:
rpm -qa | grep openssh
-
Ubuntu:
dpkg -l | grep openssh
-
安装:
-
CentOS 6:
sudo yum install -y openssh-server openssh-clients
-
Ubuntu:
sudo apt-get install -y openssh-server openssh-client
- 配置文件介绍(记得先备份):
sudo vim /etc/ssh/sshd_config
- Port 22 #默认指定 22 端口,可以自己修改
- Protocol 2,1 #指定了 SSH 协议版本,目前 SSH 只有两个版本 2 和 1
- PasswordAuthentication yes #是否开启密码验证,因为 SSH 也可以设置秘钥类授权登录的方式,如果用这种方式我们可以考虑关掉密码登录的方式。
- PermitEmptyPasswords no #是否允许密码为空,与上面参数配合用。
- 编辑配置文件(记得先备份):
sudo vim /etc/ssh/sshd_config
- 允许 root 账号登录
- 注释掉:
PermitRootLogin without-password
- 新增一行:
PermitRootLogin yes
- 注释掉:
- 生成秘钥和公钥文件,命令:
sudo ssh-keygen
,在交互提示中连续按三次回车,如果看得懂交互的表达,那就根据你自己需求来。默认生成密钥和公钥文件是在:/root/.ssh。 - 进入生成目录:
cd /root/.ssh
,可以看到有两个文件:id_rsa (私钥) 和 id_rsa.pub (公钥) - 在 .ssh 目录下创建 SSH 认证文件,命令:
touch /root/.ssh/authorized_keys
- 将公钥内容写到SSH认证文件里面,命令:
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
- 修改SSH认证文件权限,命令:
sudo chmod 700 /root/.ssh
sudo chmod 600 /root/.ssh/authorized_keys
- 重启服务:
sudo service ssh restart
- 设置 SSH 服务默认启动:
sudo sysv-rc-conf ssh on
现在 SSH 客户端可以去拿着 SSH 服务器端上的 id_rsa,在客户端指定秘钥文件地址即可,这个一般由于你使用的客户端决定的,我这里推荐的是 Xshell 软件。