Top

sftp

sftp和ssh、scp同属于OpenSSH。服务器端不需要单独安装,只要保证/etc/rc.conf中有sshd_enable="YES"即可。
配置文件为/etc/ssh/sshd.conf。
/etc/ssh/ssh.conf为客户端配置文件。一般不需要动。

默认情况下sshd服务器支持用户名密码登录访问sshd服务,但默认root不能登录。

基于密钥的身份验证

使用ssh-keygen命令生成密钥对(公钥与私钥):
% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):  输入密码
Enter same passphrase again:                 再次输入密码
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:54Xm9Uvtv6H4NOo6yjP/YCfODryvUU7yWHzMqeXwhq8 user@host.example.com
The key's randomart image is:
+---[RSA 2048]----+
|                 |
|                 |
|                 |
|        . o..    |
|       .S*+*o    |
|      . O=Oo . . |
|       = Oo= oo..|
|      .oB.* +.oo.|
|       =OE**.o..=|
+----[SHA256]-----+
私钥存储在~/.ssh/id_rsa中,公钥存储在~/.ssh/id_rsa.pub中。必须将公钥复制到远程计算机的~/.ssh/authorized_keys中才能进行基于密钥的身份验证。

没有密码的密钥是不安全的。管理员可以通过手动查看密钥来验证密钥是否收密码保护。
如果私钥文件包含ENCRYPTED,则密钥所有者正在使用密码。
另一个安全措施是在公钥文件中加入from段来限制客户端登录的IP,比如
from="192.168.1.23"
仅允许来自192.168.1.23的连接。