Linux设置SSH的证书登陆

Linux设置SSH的证书登陆

一、新建用户:

useradd itest

修改密码

passwd itest

二、

su - itest

切换到当前用户下

三、

ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/itest/.ssh/id_rsa): 使用默认路径
Created directory ‘/home/itest/.ssh’.
Enter passphrase (empty for no passphrase): 输入密码:123456 (如果输入为空,则可以实现无密码访问)
Enter same passphrase again: 输入密码:123456
Your identification has been saved in /home/itest/.ssh/id_rsa.
Your public key has been saved in /home/itest/.ssh/id_rsa.pub.
The key fingerprint is:
c0:e4:f2:03:c6:2c:86:0d:2b:1b:bc:ca:4c:d6:c6:14

四、

cd .ssh/
cp id_rsa.pub authorized_keys

五、

vi id_rsa

显示如下内容:

—–BEGIN RSA PRIVATE KEY—–
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,47888AEC20D07596
593FuhyXuJYMdd/YFvgsmABtQZfHivcgaQZ5+SY/Sq/+kn3Vxrg7zUeLgnIxf+R4
1X2t45pbdATIKHg0P8FvefCE06hkmlYbODTlCsGAE1CLBaABYbBZ8O57NL7wgNDh
。。。。。。。。此处省略。。。。。。。。。
b49KwFx7dsBPu7AAuPBnfq0IuHAdcslgJcZVTCi1E1M99df9PEpK9UArjpur47wE
z+t5oLSa7eHFlmpAnrlaxoM6hReJw/aD2R10wFhL95JCAlhJAbj0KQ==
—–END RSA PRIVATE KEY—–

六、复制以上RSA PRIVATE KEY 的内容到 Windows平台,建立 IP-key.txt 文件(文件名中的IP可用使用服务器的IP地址,方便多台服务器管理时搞混乱)

七、设置SecureCRT 等 Xshell工具登陆
Options –> Session Options –> SSH2 –> Authentication –> PublickKey –> Properties –> Use Session Public key setting –> Session settings
SecureCRT-SSH证书登陆设置
选择好文件后点 OK 确定

八、

su -
vi /etc/ssh/sshd_config

去除下面三行前得注视符号:#
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
修改:PasswordAuthentication yes

service sshd restart

使用Xshell登陆

再次修改:PasswordAuthentication no

service sshd restart

使用Xshell登陆,ol。

九、Linux系统下ssh命令行,证书登陆

ssh -i /root/.ssh/key.txt

地址 其中/root/.ssh/key.txt为密钥地址,-i代表使用本地密钥
之后提示输入:Enter passphrase for key ‘/root/.ssh/key.txt’: (如果输入为空,则可以实现无密码访问))

十、使用scp无密码拷贝(拷贝test文件夹到指定目录下)

scp  -i /root/.ssh/key -r /home/test/ 

备注:
当使用ssh-add 添加新的内容,提示如下错误时:
Could not open a connection to your authentication agent.
可以通过先运行如下命令:

ssh-agent bash

再重新添加

ssh-add

相关内容推荐
CentOS ssh root远程连接安全加固

致谢:本文绝大部分内容来自这个帖子,且经本人在VPS上测试通过,在此表示感谢!

CentOS ssh root远程连接安全加固

1,为增强安全,先增加一个用于远程登录普通权限的用户:

#useradd usera
#passwd usera

//设置密码

2、编辑防火墙配置:vi /etc/sysconfig/iptables
防火墙增加新端口45444
-A INPUT -m state –state NEW -m tcp -p tcp –dport 45444 -j ACCEPT
自双横线止于双横线为 iptables 规则,不包含双横线
======================================================================
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]

# Keep state.
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT

# Loop device.
-A INPUT -i lo -j ACCEPT

# Allow PING from remote hosts.
-A INPUT -p icmp -j ACCEPT
-A INPUT -p icmp –icmp-type echo-request -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited

# http, https
-A INPUT -p tcp –dport 80 -j ACCEPT
-A INPUT -p tcp –dport 443 -j ACCEPT

# ssh
-A INPUT -p tcp –dport 22 -j ACCEPT
-A INPUT -p tcp –dport 45444 -j ACCEPT

# smtp, submission
-A INPUT -p tcp –dport 25 -j ACCEPT
-A INPUT -p tcp –dport 587 -j ACCEPT

# pop3, pop3s
-A INPUT -p tcp –dport 110 -j ACCEPT
-A INPUT -p tcp –dport 995 -j ACCEPT

# imap, imaps
-A INPUT -p tcp –dport 143 -j ACCEPT
-A INPUT -p tcp –dport 993 -j ACCEPT

# ejabberd
#-A INPUT -p tcp –dport 5222 -j ACCEPT
#-A INPUT -p tcp –dport 5223 -j ACCEPT
#-A INPUT -p tcp –dport 5280 -j ACCEPT

# ldap/ldaps
#-A INPUT -p tcp –dport 389 -j ACCEPT
#-A INPUT -p tcp –dport 636 -j ACCEPT

# ftp.
#-A INPUT -p tcp –dport 20 -j ACCEPT
#-A INPUT -p tcp –dport 21 -j ACCEPT

COMMIT

重启防火墙,使配置生效:
/etc/init.d/iptables restart
service iptables restart
=====================================================================

Linux修改ssh端口22

vi /etc/ssh/ssh_config
vi /etc/ssh/sshd_config
修改 Port 22 或者增加
Port 45444

在 /etc/ssh/sshd_config 中修改

将以下三个选项设置为如下值
PermitRootLogin no
PermitEmptyPasswords no #禁止空密码登录
UseDNS no #关闭DNS查询

4、限制用户的SSH访问
假设我们只要root,user1和user2用户能通过SSH使用系统,向sshd_config配置文件中添加
vi /etc/ssh/sshd_config
AllowUsers rootuser1 user2

=======================================================================
5、配置空闲超时退出时间间隔
用户可以通过ssh登录到服务器,你可以设置一个空闲超时时间间隔。
打开sshd_config配置文件,设置为如下。
vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 0
上面的例子设置的空闲超时时间间隔是600秒,即10分钟,
过了这个时间后,空闲用户将被自动踢出出去(可以理解为退出登录/注销)。

重启sshd服务
#service sshd restart

以后远程登录时,使用新的端口及新增加的用户 usera 登录,然后 su root 跳到 root 用户

相关内容推荐Linux设置SSH的证书登陆

修复Magento 1.6.1.0 升级到1.6.2.0遇到的错误

通过Magento Connect Manager升级到Magento 1.6.2.0碰到错误提示:
Package community/Mage_Core_Modules 1.6.1.0 conflicts with: community/Find_Feed 1.0.8

通过搜索找到的解决方案,linux 系统中通过 SSH 命令方式,切换到安装Magento程序的目录,执行如下命令,稍等一会,升级就自动完成了。

./mage install http://connect20.magentocommerce.com/community Mage_All_Latest --force

所有版本升级到最新的稳定版本都可以使用这个命令。

别忘了给mage 这个文件执行权限,

chmod +x ./mage