更改root密码
将
更改为所需的密码
-
修改密码
echo root:<password> |sudo chpasswd root
-
开启root登录
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config;
-
开启密码登录
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
-
重启ssh服务
systemctl restart sshd.service
配置使用密钥登录
-
生成密钥和公钥,请执行以下命令:
ssh-keygen -t rsa -b 4096
连续执行回车即可生成密钥和公钥对。如果需要设置密码,请在密码提示处输入密码。
-
安装ssh公钥
cp "$HOME/.ssh/id_rsa.pub" "$HOME/.ssh/authorized_keys"
-
设置公钥权限
chmod 600 "$HOME/.ssh/authorized_keys" chmod 700 "$HOME/.ssh"
-
ssh配置文件
-
开启密钥登录
sudo sed -i 's/^#\?PubkeyAuthentication.*/PubkeyAuthentication yes/g' /etc/ssh/sshd_config
-
关闭密码登录
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication no/g' /etc/ssh/sshd_config
-
-
重启sshd服务
systemctl restart sshd.service
ssh登录后闲置时间过长而断开连接
echo "ServerAliveInterval 60" >> "$HOME/.ssh/config"
ssh客户端会每隔一段60s,自动与ssh服务器通信一次
存放ssh密钥密码
ssh-agent
启动Linux
ssh-agent bash
windows
- 打开服务
- 将
OpenSSH Authentication Agent
服务启动 - 设置自启动
添加默认的私钥
ssh-add
添加私钥时,会要求输入密码。以后,在这个对话里面再使用密钥时,就不需要输入私钥的密码了,因为私钥已经加载到内存里面了。
使用命令将本地公钥发送给服务端
ssh-copy-id username@hostname