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
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:
参考:https://help.ubuntu.com/community/SSH/OpenSSH/ConnectingTo
http://wiki.ubuntu.org.cn/OpenSSH%E9%AB%98%E7%BA%A7%E6%95%99%E7%A8%8B
https://help.ubuntu.com/10.04/serverguide/openssh-server.html
https://help.ubuntu.com/community/SSH/OpenSSH/Configuring
https://help.ubuntu.com/community/SSH/OpenSSH/Keys
ubuntu远程管理与OpenSSH Server的搭建,布布扣,bubuko.com
原文:http://blog.csdn.net/xby1993/article/details/23610845