Linux-server-sshd

时间:2023-03-09 16:01:53
Linux-server-sshd

Linux-server-sshd

1:安装

OpenSSH 服务需要4 个软件包

openssh-5.3p1-114.el6_7.x86_64:包含OpenSSH 服务器及客户端需要的核心文件

openssh-clients-5.3p1-114.el6_7.x86_64:OpenSSH 客户端软件包

openssh-server-5.3p1-114.el6_7.x86_64:OpenSSH 服务器软件包

openssh-askpass-5.3p1-114.el6_7.x86_64:支持对话框窗口的显示,是一个基于X 系统的密码

安装方法有两种:

1、配置yum源,通过

yum install openssh openssh-clients openssh-server openssh-askpass -y

2、本地直接安装rpm包文件:

rpm –ivh /media/cdrom/Packages/openssh*.rpm

可能需要解决依赖关系

确认软件包是否已经安装:

rpm -qa | grep openssh

openssh-askpass-5.3p1-114.el6_7.x86_64

openssh-clients-5.3p1-114.el6_7.x86_64

openssh-5.3p1-114.el6_7.x86_64

openssh-server-5.3p1-114.el6_7.x86_64

查看软件安装生产的文件:

rpm -ql openssh

OpenSSH 配置文件

OpenSSH 常用配置文件有两个/etc/ssh/ssh_config /etc/sshd_config

ssh_config 为客户端配置文件

sshd_config 为服务器端配置文件

服务启动关闭脚本:

方法1:

[root@xuegod ssh]# service sshd restart/stop/start/status

方法2:

[root@xuegod ssh]# /etc/init.d/sshd restart/stop/start/status

开机启动服务:

[root@xuegod63 ~]# chkconfig sshd on

[root@xuegod63 ~]# chkconfig --list sshd

sshd           0:off      1:off      2:on      3:on      4:on      5:on      6:off

 

如何使用ssh来远程连接主机:

方法一、

1ssh 
[
远程主机用户名] @[远程服务器主机名或IP地址]

如果用root进程登录远程主机可以这样:

[root@xuegod ssh]# ssh 192.168.0.64

普通用户:

 [root@xuegod63 ~]# useradd cat && echo 123456 | passwd --stdin cat

[root@xuegod ssh]# ssh cat@192.168.0.64

 

第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连

接,输入yes 后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts 文件中,下次再进行登录时因为保存有该主机信息就不会再提示了                     

RSA算法基于一个十分简单的数论事实:将两个大素数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

方法二、

ssh -l [远程主机用户名] [远程服务器主机名或IP 地址]

例:ssh -l cat 192.168.0.64

2:优化

Ssh_set()
{
sed -i '12a########## ssh-set ##############################' /etc/ssh/sshd_config
sed -i '12aPermitEmptyPasswords no' /etc/ssh/sshd_config
sed -i '12aPermitRootLogin no' /etc/ssh/sshd_config
sed -i '12aMaxStartups 5' /etc/ssh/sshd_config
sed -i '12aUseDNS no' /etc/ssh/sshd_config
sed -i '12aPort 33897' /etc/ssh/sshd_config
sed -i '12aCompression yes' /etc/ssh/sshd_config
sed -i 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -i '12a######### ssh-set ##########################' /etc/ssh/sshd_config /etc/init.d/sshd restart >/dev/null
if [ $? -eq 0 ];then
Echo_green "SSH ----------------OK"
fi
}

3:使用KEY 进行连接

1:生成公钥和私钥 (可以在Linux 机器上生成和在Windows XSHELL 上生成 )

ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 20022 test@192.168.3.2" (Linux复制公钥到远程主机,端口号改变的情况下复制) 可以实现无密码登陆并执行简单的命令

ssh 用户名@主机名 “执行的命令”

2:把公钥上传用户的家目录 .ssh/authorized_keys #注意权限的设置,目录文件的权限是 目录700/文件600,文件里面可以追加很多的公钥,用于不通用户的链接,

1:echo -e "#name\n" >>.ssh/authorized_keys

2:cat 公钥的名字 >>.ssh/authorized_keys

可以追加多个用户的公钥到>>.ssh/authorized_keys,每个用户可以用自己的私钥。去连接服务器

3:最后就可以用私钥 进行连接了

#AuthorizedKeysFile .ssh/authorized_keys