三千年读史无外乎功名利禄,九万里悟道终归是诗酒田园。

10个有用的SSH(Secure Shell)面试问题和解答

1.默认情况下,SSH是在什么端口号上配置的?如何更改SSH的端口?

答: 默认情况下,SSH在端口22上配置。我们可以在配置文件中更改或设置SSH的自定义端口号。
我们可以通过直接在终端上运行下面的一个班轮脚本来检查SSH的端口号。

#grep Port /etc/ssh/sshd_config    [在基于Red Hat的系统上]
#grep Port /etc/ssh/ssh_config      [在基于Debian的系统上]

要更改SSH的端口,我们需要修改位于’/etc /ssh/sshd_config’或’/etc/ssh/ssh_config’的SSH配置文件。

#vim /etc/ssh/sshd_config  [在基于Red Hat的系统上]
#vim /etc/ssh/ssh_config      [在基于Debian的系统上]

搜索:

Port 22

并用任何没有使用过的端口号替换’ 22 ‘,保存该文件并重新启动SSH服务以使更改生效。

#service sshd restart [在基于Red Hat的系统上]
#service ssh restart   [在基于Debian的系统上]

2.作为安全实施,您需要在Linux中禁用SSH服务器上的root登录。你会建议什么?

答:上述操作可以在配置文件中实现。我们需要在配置文件中将参数’PermitRootLogin’更改为’no’,以禁用直接root登录。
要禁用SSH根登录,请打开位于’/etc/ssh/sshd_config’或’/etc/ssh/ssh_config’的配置文件。

#vim /etc/ssh/sshd_config     [在基于Red Hat的系统上]
#vim Port /etc/ssh/ssh_config    [在基于Debian的系统上]

将参数‘PermitRootLogin’ 更改为‘no’并重新启动SSH服务,如上所示。

3. SSH或Telnet?为什么?

答: SSH和Telnet都是网络协议。这两种服务都用于通过网络连接并与另一台计算机通信。SSH默认使用端口22和Telnet使用端口23。Telnet以纯文本和非加密格式发送数据,每个人都可以理解,而SSH则以加密格式发送数据。更不用说SSH比Telnet更安全,因此SSH优于Telnet。

4.是否可以在没有密码的情况下登录SSH服务器?怎样登录?

答: 是的!可以在不输入密码的情况下登录到远程SSH服务器。我们需要使用ssh-keygen技术来创建公钥和私钥。
使用下面的命令创建ssh-keygen。

$ssh-keygen

使用以下命令将公钥复制到远程主机。

$ssh-copy-id -i /home/USER/.ssh/id_rsa.pub remore_server

注意:用远程服务器地址替换USER用户名和REMOTE-SERVER。

下次我们尝试登录到SSH服务器时,它将允许登录而不用询问密码,使用keygen。如需更详细的说明,请参阅如何远程登录SSH服务器没有密码。

5.您将如何允许用户和组访问SSH server?

答:可以允许用户和组访问SSH服务器。
我们再次需要编辑SSH服务的配置文件。打开配置文件并在底部添加用户和组,如下所示,然后重新启动服务。

AllowUsers linux-code linux-code1 linux-code2
AllowGroups group_1 group_2 group_3

6.如何在用户登录到SSH服务器后立即添加欢迎/警告消息?

答: 为了在用户登录SSH服务器后立即添加欢迎/警告消息,我们需要编辑名为"/etc/issue"的文件并在其中添加消息.

#vim /etc/issue

并在此文件中添加您的自定义消息。在用户登录服务器后立即看到屏幕截图下方显示自定义消息。

SSH登录横幅
SSH登录消息

7. SSH有两个协议?证明这一说法。

答案: SSH使用两种协议 – 协议1和协议2.协议1比协议2旧。协议1比协议2安全性低,应在配置文件中禁用。
再次,我们需要打开SSH配置文件并添加/编辑行,如下所示。

#protocol 2,1
Protocol 2

保存配置文件并重新启动服务。

8.是否有可能追踪未经授权的入侵企图登录SSH服务器以及入侵日期以及相应的IP。

答: 是的!我们可以在’/var/log/secure’位置创建的日志文件中找到失败的登录尝试。我们可以使用grep命令做一个过滤器,如下所示。

#cat /var/log/secure | grep "Failed password for"

注意:grep命令可以通过其他方式进行调整,以产生相同的结果。

9.是否可以通过SSH复制文件?怎么做?

答:我们可以使用SCP命令通过SSH复制文件,代表’Secure Copy’。SCP使用SSH复制文件,并且在功能上非常安全。
下面描述了一个实际的虚拟SCP命令:

$ scp text_file_to_be_copied Your_username@Remote_Host_server:/Path/To/Remote/Directory

有关如何使用scp命令复制文件/文件夹的更多实际示例,请阅读Linux中的10个SCP命令以复制文件/文件夹。

10.是否可以将输入从本地文件传递到SSH?如过是,怎么做?

答:是的,我们可以将输入从本地文件传递到SSH。我们可以简单地做到这一点,就像我们在编写语言脚本时一样。这里有一个简单的一行命令,它将把本地文件的输入传递给SSH。

#ssh username@servername < local_file.txt

赞(4)
转载请注明出处:RokasYang's Blog » 10个有用的SSH(Secure Shell)面试问题和解答