root@ykla:~ # ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #此处回车
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #此处输入密码(为了安全建议设置密码)
Enter same passphrase again: #此处重复输入密码
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:MkcEjGhWCv6P/8y62JfbpEws9OnRN1W0adxmpceNny8 root@ykla
The key's randomart image is:
+---[RSA 2048]----+
|. o.o... ..|
|..+.. .. o+*|
| +. . o*B|
| . . o=.|
| . .o S . ..|
| + o+o . .|
| . o *.o o E .|
| + Bo= . . . |
| . ==O.. |
+----[SHA256]-----+
root@ykla:~ #
逐个找到(分散于 sshd_config),并按需修改配置如下(删去前边的 #,并将 yes 或 no 的状态修改为如下):
PermitRootLogin yes #允许 ROOT 用户直接登录系统
AuthorizedKeysFile .ssh/authorized_keys #修改使用用户目录下密钥文件,默认已经正确配置,可再检查下
PasswordAuthentication no #不允许用户使用密码方式登录
ChallengeResponseAuthentication no #禁止密码登录验证
PermitEmptyPasswords no #禁止空密码的用户进行登录
重启服务
# service sshd restart
使用 xshell 登录即可,输入密钥密码,导入私钥 id_rsa,即可登录。
如果使用其他 ssh 软件无法登录请自行转换密钥格式。
保持 SSH 不断线
传统的 screen
screen 即英文“屏幕”的意思,即提供一块虚拟屏幕给你用。
安装:
# pkg install screen
或者:
# cd /usr/ports/sysutils/screen/
# make install clean
使用方法:
# screen -S xxx
使用 -S 可以指定 xxx 为名字,方便找到。
然后就可以进行 ssh 连接了,后续可以关闭这个窗口或软件,不影响 ssh。
查看有哪些正在运行的 screen?
root@ykla:/ # screen -ls
There are screens on:
18380.pts-0.ykla (Attached)
70812.xxx (Detached)
67169.pts-0.ykla (Detached)
3 Sockets in /tmp/screens/S-root.