ubuntu远程管理与OpenSSHServer的搭建


OpenSSH:open Secure Shell,一般用于管理远程主机:

它的服务器进程为sshd,配置文件为/etc/ssh/sshd_config

在服务器上安装服务套件:#apt-get install openssh-server

(远程)客户端套件的安装:#apt-get install openssh-client(可选,如果远程机为linux,则安装,windows下可使用putty,xshell作为ssh客户端)

配置:

先备份

#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.original

# chmod a-w /etc/ssh/sshd_config

一般常用的修改项:

监听端口修改Port 22改为Port 2222或者你想要的端口,防止暴力破解。

修改登录时长:

LoginGraceTime 120改为LoginGraceTime 20防止暴力破解

进一步增强安全性:

禁止使用密码登录,而是使用公钥登录:

#PasswordAuthentication yes

改为:PasswordAuthentication no

允许或拒绝用户和用户组登录:

AllowUsers 'jhendrix svaughan'

DenyUsers 'wgates sballmer'

AllowGroups sshlogin

修改登录前未授权警告:

取消注释#Banner /etc/issue.net.编辑该/etc/issue.net文件添加未授权警告信息。

重启服务是改动生效:service ssh restart

生成密码免密码登录:

ssh-keygen -t dsa

分为DSA与RSA密钥,同时可以指定密钥长度:默认为2048,我也可以这样

ssh-keygen -t rsa -b 4096

这样会生成密钥对: ~/.ssh/id_dsa.pub, 和~/.ssh/id_dsa is the private

key.

然后我们需要将公钥发送给远程客户端。

远程客户端将id_dsa.pub中的内容添加到: ~/.ssh/authorized_keys中即可。

我们可以使用这个命令一步完成:ssh-copy-id username@remotehost

也可以手动完成。

cp authorized_keys authorized_keys_Backup

cat id_rsa.pub >> authorized_keys

之后我们需要确保权限的正确性:

chmod 600 .ssh/authorized_keys

释惑:我们注意观察会发现sshd_config文件中有这样一段:

HostKeys for protocol version 2

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_rsa_key.pub

...

那么这个ssh_host_rsa_key及ssh_host_rsa_key.pub是什么呢?

其实它是主机密钥对,用于标识主机的,这是安装openssh-server是自动生成的。一般我们无须修改。

但是有个这个之后我们是否还需要用户的自己的密钥对吗?当然需要,我们还得按照上面的步骤生成自己的密钥对。

客户端登录:

对于linux:

apt-get install openssh-client

ssh <username>@<computer name or IP address>

ssh mike@192.168.1.1

对于windows:

1.使用Putty

2.使用cygwin:

相关内容