为了在具有相同硬件的机器之间获得相同的设置,我将驱动器从一个克隆到另一个,然后进行 ip 和主机名配置以区分两台 Linux 机器。除了 scp 之外,一切似乎都正常。(机器之间的 NFS 甚至 ssh 工作正常)
查看 scp -v 的结果,它似乎验证正确,但随后它复制了 0 个字节。有没有什么办法解决这一问题?为机器生成新的 ssh 密钥会起作用吗?如果是这样,我该怎么做?(机器级别键,而不是用户级别键)
是否可以使用 ssh 远程启动应用程序?我有一台用于媒体中心的 linux 机器,我希望能够通过 ssh 连接并在其上启动例如 XBMC 或 Boxee,然后将我的 iphone 用作遥控器。
我使用我的 OS X 机器来管理几个服务器,并且喜欢保持打开 terminal.app 来执行此操作。我有我的个人资料,所以当我打开 terminal.app 时,我打开了几个选项卡,是否可以为每个选项卡分配不同的主题和不同的启动命令,以便我可以在运行终端时自动通过 SSH 连接到每个框。应用程序?
当驱动器采用文本密码时,可以通过 SSH 轻松解锁 LUKS 驱动器:
cryptsetup luksOpen /dev/sdb1 mylockeddrive
Run Code Online (Sandbox Code Playgroud)
然后根据提示输入密码。
使用密钥文件时是否有办法解锁这些驱动器,而不需要在远程系统上复制密钥文件?
我正在编写一个自定义 SSH 服务器。每当我通过连接到它时ssh user@subdomain.example.com,我需要知道子域的值。
现在我只能获取远程和本地 IP 地址。
sshd我正在尝试将一些类似的日志过滤到一个单独的文件中:
sshd[14913]: Did not receive identification string from 10.16.0.2
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法,并且有效:
if $programname == 'sshd' and
$syslogfacility-text == 'security' and
$syslogseverity == '6' then -/var/log/sshinfo.log
& stop
Run Code Online (Sandbox Code Playgroud)
但这也匹配用户登录/注销,所以我尝试添加消息匹配过滤器:
if $programname == 'sshd' and
$msg startswith 'Did not' and # <---
$syslogseverity == '6' then -/var/log/sshinfo.log
& stop
Run Code Online (Sandbox Code Playgroud)
这不起作用!(虽然contains有效)
坏了startswith,还是这个用法不正确?
版本:
# rsyslogd -v
rsyslogd 7.4.4, compiled with:
FEATURE_REGEXP: Yes
FEATURE_LARGEFILE: No
GSSAPI Kerberos 5 support: Yes
FEATURE_DEBUG (debug build, slow code): No
32bit Atomic …Run Code Online (Sandbox Code Playgroud) 我试图禁用 CentOS 8 上 OpenSSH 服务器中使用的 AES256-CBC 密码,同时将安全策略设置为“未来”。
根据本页的表格(请参阅“在加密策略级别中启用的密码套件和协议”),未来的加密策略似乎不应启用 CBC 模式密码(请参阅与“未来”和“CBC 模式密码”)。
我运行此命令将我的 CentOS 8 系统从默认更改为未来:
sudo update-crypto-policies --set FUTURE
Run Code Online (Sandbox Code Playgroud)
随后重新启动:
sudo reboot
Run Code Online (Sandbox Code Playgroud)
然而,Nessus 扫描显示 SSH 服务支持“aes256-cbc”算法。此输出对应于Nessus插件。
经过一番调查,服务(和客户端)的未来安全策略文件似乎确实包含“aes256-cbc”:
$ grep aes256-cbc /usr/share/crypto-policies/FUTURE/openssh*.txt
/usr/share/crypto-policies/FUTURE/opensshserver.txt:CRYPTO_POLICY='-oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc -oMACs=umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512 -oGSSAPIKeyExchange=no -oKexAlgorithms=curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512 -oHostKeyAlgorithms=rsa-sha2-256,ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,rsa-sha2-512,ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-ed25519-cert-v01@openssh.com -oPubkeyAcceptedKeyTypes=rsa-sha2-256,ecdsa-sha2-nistp256,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384,ecdsa-sha2-nistp384-cert-v01@openssh.com,rsa-sha2-512,ecdsa-sha2-nistp521,ecdsa-sha2-nistp521-cert-v01@openssh.com,ssh-ed25519,ssh-ed25519-cert-v01@openssh.com'
/usr/share/crypto-policies/FUTURE/openssh.txt:Ciphers aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc
Run Code Online (Sandbox Code Playgroud)
我可以使 SSH 选择退出全局安全策略(并Ciphers手动在 sshd_config 中设置)或手动编辑 /usr/share/crypto-policies/FUTURE/openssh*.txt 文件以排除 CBC,但我不喜欢其中任何一个的想法。
这是否可能是 Centos 8 安全策略配置中的一个错误,或者是否有某种方法可以在不手动指定密码列表的情况下禁用 CBC?
我对服务器安全非常陌生,这是我在这里发表的第一篇文章。最近,我的服务器遇到了许多来自未知来源的 SSH 登录尝试。
几分钟前,我登录到服务器,决定tcp通过发出命令来检查套接字ss -t,并发现一个处于状态的套接字FIN-WAIT-1。我不知道该怎么想。有人连接成功吗?
State Recv-Q Send-Q Local Address:Port Peer Address:Port
FIN-WAIT-1 0 69 139.132.21.45:ssh 123.156.225.58:36092
Run Code Online (Sandbox Code Playgroud)
命令还给last了我这些条目,但我今天没有以 root 身份登录。
root ttyS0 Tue Nov 2 17:10 still logged in
reboot system boot 4.15.0-161-gener Tue Nov 2 17:10 still running
Run Code Online (Sandbox Code Playgroud)
我应该担心吗?
突然,我无法ssh使用无线接口连接到服务器,但我可以使用 eth0 接口和直接连接到路由器的电缆来连接。
从我的无线接口我得到:
$ ssh -vvv my_server
OpenSSH_8.9p1 Ubuntu-3, OpenSSL 3.0.2 15 Mar 2022
debug1: Reading configuration data /home/user/.ssh/config
debug1: /home/user/.ssh/config line 38: Applying options for my_server
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug2: resolve_canonicalize: hostname XX.XXX.XX.XXX is address
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts' -> '/home/user/.ssh/known_hosts'
debug3: expanded UserKnownHostsFile '~/.ssh/known_hosts2' -> '/home/user/.ssh/known_hosts2'
debug3: ssh_connect_direct: entering
debug1: Connecting to XX.XXX.XX.XXX [XX.XXX.XX.XXX] port 22. …Run Code Online (Sandbox Code Playgroud) 我的目标是通过 ssh 从另一台 Linux 主机以 root 用户身份执行命令。
问题是:环境不允许直接访问root用户。
有效的手动方式是首先通过 ssh-key 连接到非特权用户,然后 su 到 sudo 特权用户,然后 sudo -i/sudo su 到 root 帐户并执行命令。
一种对我来说非常方便的解决方案是使用Python 和 Paramiko
我的问题是,如果没有 Python,这样的事情是否也可能实现。最后,我想执行一个脚本,该脚本读取特权用户密码,然后以 root 用户身份在远程系统上执行命令。
我想到了这样的事情:
ssh -t user01@host su user02 -c 'sudo -S cat /etc/shadow'
Run Code Online (Sandbox Code Playgroud)
如果我直接在机器上执行此命令,它可以工作,但是一旦我通过 ssh 尝试它,就会出现错误:su: invalid option -- 'S'
在我看来,这是 ssh -t 和 sudo -S 组合的问题,但我不明白。
有什么建议么?感谢您的帮助!